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

PC Lab Modul

Modul 2 membahas struktur kondisi if-else dan kasus-kasus praktikumnya dalam bahasa pemrograman Java. Beberapa kasus praktikum meliputi program matematika yang menggunakan method built-in di Java, konversi detik ke jam-menit-detik, menentukan wujud air berdasarkan suhu, menentukan bulan dan kabisat, serta menentukan indeks nilai berdasarkan nilai dan kehadiran mahasiswa.

Diunggah oleh

Herry Cripton
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
108 tayangan

PC Lab Modul

Modul 2 membahas struktur kondisi if-else dan kasus-kasus praktikumnya dalam bahasa pemrograman Java. Beberapa kasus praktikum meliputi program matematika yang menggunakan method built-in di Java, konversi detik ke jam-menit-detik, menentukan wujud air berdasarkan suhu, menentukan bulan dan kabisat, serta menentukan indeks nilai berdasarkan nilai dan kehadiran mahasiswa.

Diunggah oleh

Herry Cripton
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

MODUL 1: PENGANTAR DAN TIPE DATA

Hasil bukanlah yang perpenting dalam sebuah usaha.


Cobalah mengubah orientasi,
sehingga fokus terhadap proses yang anda lakukan.
-ims-

Pada modul 1 praktikum ini, mahasiswa belajar membuat program dengan bahasa
pemrograman yang sangat pewerful yaitu Java. Seluruh kasus yang ada pada modul
ini merupakan kasus yang sangat sederhana dan sangat sering dijumpai pada
kehidupan sehari-hari. Setelah mengimplementasikan seluruh kasus tersebut dengan
Java, mahasiswa diharapkan bisa membedakan secara jelas antara algoritma dan
bahasa pemrograman khususnya java, termasuk di dalamnya notasi yang
digunakan dan aturan penulisan.

1.1. Tujuan
Tujuan dari bab tersebut adalah:
1. Mengenal lingkungan Java
2. Mampu menterjemahkan notasi algoritma yang diajarkan di kelas ke dalam Java

1.2. Kegiatan
1.
2.
3.
4.
5.

Melakukan instalasi J2SDK


Belajar membuat progam tanpa perlu menuliskan algoritma.
Belajar memberi nama yang representatif.
Belajar memberi memberi komentar program yang deskriptif.
Belajar memberi nama file harus sesuai format dan aturan bahasa pemrograman

1.3. Kasus Praktikum


Selesaikanlah keseluruhan kasus berikut.
Kasus 1: Hello
Petunjuk:
Nama file Hello.java
Tulisakan potongan program di bawah mi pada editor Edit Plus.
1
2
3
4
5
6
7
8
9
10
11
12
13
14

/*=================================================================
File
: Hello.java
Tanggal
: 14 September 2005
Programmer : Ivan Michael Siregar
Deskripsi : Ini adalah program pertama saya
- Hanya menuliskan pesan ke output (monitor)
=================================================================*/
public class Hello {
public static void main (String args[]) {
System.out.println(Hallo, selamat datang di praktikum IF103);
System.out.println(Selamat bekerja);
}
}

Programming Concept
President University

Kasus 2: Internet
Petunjuk
Nama file Internet.java
Tulisakan potongan program di bawah mi pada editor Edit Plus.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

/*==============================================================
File
: Internet.java
Tanggal
: 14 September 2005
Programmer : Ivan Michael Siregar
Deskripsi : - Menggunakan variabel dan konstanta
- Menerima nama pelanggan dan lama penggunaan internet
- Menghitung biaya penggunakaan dan mencetak struk
================================================================*/
//menggunakan kelas yang sudah ada
import javax.swing.JoptionPane;
public class Internet {
public static void main (String args[]) {
//deklarasi konstanta
final int biaya 60; //biaya pulsa per detik
//deklarasi variabel
String nama;
//nama dalam tipe string
String durasis; //durasi dalam tipe string
int durasi;
int total;

//durasi dalam tipe integer


//total dalam tipe integer

//menerima masukan
nama
= Jptionpane.showInputDialog(null,Nama pelanggan);
durasi = JPtionPane.showInputDialog(null,Lama pemakaian internet);
//konversi tipe string ke tipe integer
durasi = Integer.ParseInt(durasis);
//kalkulasi biaya penggunaan
total = durasi * biaya;
//menampilkan hasil
JOptionPane.showMessageDialog(null,Warnet President /n Nama pelanggan
=
+nama+ /n Lama pemakaian = +durasi+ /n Total Biaya=+total+/n
Terimakasih);

Kasus 3: Avanza
Petunjuk
Nama File Avanza.java
Tidak perlu membuat algoritma.
Tentukan sendiri constant dan variable
Buatlah program dengan Java untuk menghitung konsumsi bensin sebuah mobil
Avanza. Ikuti ketentuan berikut:
Programming Concept
President University

Pemakaian 1 liter bensin untuk menempuh 20 km.


Kecepatan rata-rata mobil 80 km/jam.
Harga bensin Rp. 2400/liter

Input : Jumlah bensin yang dibeli dalam satuan liter


Output : Harga pembelian bensin, lama perjalanan
Kasus 4: Luas Lingkaran dan Persegi
Petunjuk:
Nama File LuasLingkaranDanPersegi.java
Diberikan sebuah algoritma lengkap.
Implementasikan notasi algoritma berikut ke dalam bahasa Java.
Tentukan sendiri constant dan variable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

Algoritma LuasLingkaranDanPersegi
{menghitung luas lingkaran dan persegi
luas lingkaran = * r^2 dan luas persegi panjang * lebar
}
DEKLARASI
{nama konstanta)
const pi real = 3.1415 {konstanta matematik }
(nama variabel}
jejari
panjang
lebar
luasLingkaran
luasPersegi

:
:
:
:
:

integer
integer
integer
real
real

{Jarijari}
{Panjang persegi}
{Lebar persegi}
{Luas lingkaran}
{Luas persegi}

DESKRIPSI
read(jejari)
read(panjang)
read(lebar)
luasLingkaran = p1 * jejari ^ 2
luasPersegi
= panjang * lebar
write(luasLingkaran)
write(luasPersegi)

Programming Concept
President University

MODUL 2: SEQUENCE DAN ANALISA KASUS


Latihan menghasilkan kesempurnaan.

Pada modul 2 praktikum ini, mahasiswa belajar menggunakan method yang ada
pada Java, dan mengenal logika pada pemrograman yang paling fundamental
dengan menggunakan struktur if-else. Struktur ini sangat memungkinkan program
menjalankan aksi tertentu berdasarkan kondisi yang dipenuhi.

2.1. Tujuan
Tujuan dari bab tersebut adalah:
1. Menggunakan beberapa method yang ada pada class Math
2. Mengguriakan arialisa kasus stuktur if
3. Menggunakan analisa kasus stuktur case
4. Paham menggunakan div dan mod

2.2. Kegiatan
1.
2.
3.
4.

Belajar
Belajar
Belajar
Belajar

membuat progam tanpa perlu menuliskan algoritma.


memberi nama yang representatif.
memberi memberi komentar program yang deskriptif.
memberi nama file harus sesuai format dan aturan bahasa pemrograman

2.3. Kasus Praktikum


Kasus 1: Program Matematik
Petunjuk:
Nama file Matematik.java
Pada kasus ini, praktikan akan diperkenalkan dengan fungsi-fungsi matematika
built in.
Tuliskan potongan program di bawah inii, jangan lupa memberikan header dan
komentar.
Berikan tampilan sebaik mungkin.
Perhatikan bahwa program tersebut belum benar sacara sintaks.
Beberapa method lainnya yang disediakan class Math antara lain abs(), ceil(),
floor(), max(x,y), min(x,y), pow(x,y). Cobalah masing-masing method
tersebut.
1
2
3
4
5
6
7
8
9
10
11

/*======================================================================
File
: Matematik.java
Tanggal
: 21 September 2005
Programmer : Ivan Michael Siregar
Deskripsi : Menggunakan berbagai prepackaged method untuk class Math
========================================================================*/
//menggunakan kelas yang sudah ada
import javax.swing.JOptionPane;
public class Matematik {
public static void main (String args[])

Programming Concept
President University

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

//deklarasi variabel
String bilangans; //nama dalam tipe string
int bilangan;
//nama dalam tipe integer
//menerima masukan
bilangans = JOptionPane.showInputoialog(null,Masukkan sebuah
bilangan);
//konversi tipe string ke tipe integer
bilangan = Integer.parseInt(bilangans);
//menampilkan basil
JoptionPane.showMessageDiaiog(null,Bilangan Dasar = bilangan+ \n
Cosinus =+Math.sin(bilangan)+\n Kosinus =+Math.cos(bilangan)+ \n
Tangen =+Math.tan(bilangan)+\n Exponen =+Math.exp(bilangan)+ \n
Kudrat =+Math.sqrt(bilangan)+\n Log +Math.log(bilangan)+\n );

Kasus 2: Program KoriversiDetik


Petunjuk:
Nama file KonversiDetik.java
Tulislah program untuk menampilkan jumlah han, jam, menit, dan detik dari
sebuah masukan bertipe longint berupa lamanya waktu dalam satuan detik.
Contoh 100000 detik = 1 han, 3 jam, 46 menit, 40 detik.
Gunakan notasi % untuk mod dan notasi / dan div.
Kasus 3: Wujud Air
Petunjuk:
Nama file WujudAir.java
Implementasikan algoritma berikut. Ingatlah untuk selalu memberikan header,
dan komentar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Algoritrma WujudAir
{Menerima masukan berupa suhu air, dan menuliskan pesan
Es(suhu < 0), cair (0 <= suhu < 100), uap (suhu >= 100)

wujud

air.

DEKLARASI
{nama variabel)
pesan : string
suhu : integer
DESKRIPSI
read(suhu)
if (suhu < 0) then
pesan es
else
if (0 <= suhu < 100) then
pesan cair
else {suhu > 100)
pesan uap
end if
end if
write (pesan)

Programming Concept
President University

Berikut contoh implementasi analisa kasus struktur i dengan Java:


1
2
3
4

if (nilai == 10) then


System.out.println(Sempurna)
else
Systern.out.println(Tidak sempurna);

Kasus 4: Bulan Integer dan Tahun Kabisat


Buatlah program untuk menerima masukan bulan berupa bilangan integer
[1..121 dan menulisakan nama bulan yang bersesuaian, dan tahun kemudian
menuliskan kabisat atau bukan.
Contoh: 5 2000 untuk bulan Mei dan Kabisat.
Kasus 5: Indeks Nilai
Petunjuk:
Nama file IndeksNilai.java
Buatlah sebuah program untuk menentukan indeks nilai seorang mahasiswa.
Masukan berupa persentasi kehadiran dan NA.
Bila persentasi kehadiran kurang dan 80 % maka indeks nilai tidak bisa
ditampilkan, sebaliknya indeks nilai ditampilkan dengan kriteria berikut. Indeks A
(NA >=80), B (70 <= NA < 80), C (55 <= NA < 70), D (45 <= NA < 55), E (NA
<= 55).
Berikan pesan-pesan yang interaktif.
Kasus 6: TeleponSUJ
Buatlah program penggunakaan telepon SUJ sehingga pengguna telepon akan
mendapatkan diskon pada jam-jam tertentu sesuai dengan ketentuan:
- Bayar 25 % : 23.01 06.00
- Bayar 50 % : 06.01 07.00
- Bayar 75 % : 07.01 08.00
- Bayar 100 % 08.01 09.00
- Bayar 125 % : 09.01 16.00
- Bayar 100 % : 16.01 18.00
- Bayar 75% : 18.01 20.00
- Bayar 50% : 20.01 23.00
Masukan berupa lama penggunaan dalam satuan detik, dan uang pembayaran.
Setiap 10 detik dikenakan biaya normal Rp. 400, Beban biaya hanya tergantung pada lama penggunaan dan tarif diskon, dan
bukan pada jarak panggilan yang dituju.
Keluaran berupa jumlah biaya pemakaian dan besar uang kembalian.
Kasus 7: Penampil Tujuh Segmen
Petunjuk:
Nama file SevenSegmen.java
Buatlah sebuah program untuk menampilkan bilangan dalam format digital tujuh
segmen untuk sebuah bilangan integer.
Gunakan karakter | dan untuk menggambarkannya.
Contoh tampilan adalah seperti berikut

Programming Concept
President University

_
|

|
_

|
_

Kasus 8: Persamaan Kuadrat


Petunjuk:
Nama file PersamaanKuadrat.java
Tulisakan program untuk menghitung akar-akar persamaan ax2 + bx + c = 0
Masukan untuk program mi berupa bilangan bulat untuk nilai a, b, dan c.
Kasus 9: Kalkulator Sederhana
Nama file Kalkulator.java
Buatlah sebuah program kalkulator untuk melakukan operasi +,,*,/ untuk dua
buah bilangan.
Hasil operasi tergantung pada operator yang digunakan.
Gunakan struktur case.
Berikut contoh implemeritasi analisa kasus struktur case dengan Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

switch (bilangan)
case 0: kata =
break;
case 1: kata =
break;
case 2: kata =
break;
case 3: kata =
break;
case 4: kata =
break;
case 5: kata =
break;
case 6: kata =
break;
case 7: kata =
break;
case 8: kata =
break;
case 9: kata =
break;
default:kata =
}

Programming Concept
President University

{
fbi;
satu;
dua;
tiga;
empat;
lima;
enam;
tujuh;
delapan;
sernbilan;
Tidak terdefinisi. Bilangan harus dalam range 0 9;

Kasus 10: Menu Utama


Nama file MenuUtama.java
Buatlah sebuah program yang akan menyediakan menu untuk semua hasil
pekerjaan anda dan praktikum yang terdahulu hingga sekarang.
Tampilan yang dihasilkan akan mirip seperti berikut.
Gunakan struktur case.
Selamat datang di Mesin Pintar
1. Hello
2. Warnet President
3. Avanza
4. Lingkaran dan Persegi
5. Matematik
6. Konversi Detik
7. Wujud Air
8. Bulan Integer dan Tahun Kabisat
9. Indeks Nilai
10. Telepon SLJJ
11. Penampil Tujuh Segmen
12. Persamaan Kuadrat
13. Kalkulator Sederhana
14. Keluar
Anda dipersilahkan memilih menu [1-14)

Programming Concept
President University

MODUL 3: ARRAY
Selesaikan masalahmu dengan cara memecahnya
menjadi bagian-bagian yang kecil dan sederhana.

Pada modul 6 praktikum ini, mahasiswa belajar membuat array dan kemudian
menggunakannya. Array atau larik adalah struktur data yang menyimpan
sekumpulan elemen yang bertipe sama, setiap elemen diakses langsung melalui
indeksnya. Indeks array haruslah bertipe data yang menyatakan keterurutan,
misalnya integer atau karakter.

3.1. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami cara mendefinisikan array
2. Memahami cara mengguanakan array
3. Memahami cara kerja array
4. Mampu menentukan kapan sebaiknya menggunakan array

3.2. Kegiatan
1. Membuat, mengisi, dan menggunakan array
2. Menggunakan matriks untuk menyelesaikan berbagai masalah

3.3. Kasus Praktikum


Kasus 1: Isi dan Cetak Array
Petunjuk:
Nama file isiDanCetakArray.java
Source code berikut adalah untuk membuat sebuah array, mengisi seluruh
elemennya, dan menuliskannya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

/*===================================================================
File
: isiDanCetakArray.java
Tanggal
: 18 September 2005
Programmer: Ivan Michael Siregar
Deskripsi : - Mendeklarasikan array bilangan bertipe integer
- Mengisi elemen array dengan pengulangan
- Menuliskan elemen array dengan pengulangan
=====================================================================*/
import javax.swing.JOptionPane;
public class isiDanCetakArray {
public static void main(String[] args) {
//mendeklarasikan array
int[] bilangan = new int[10]
//mendeklarasikan variabel
int i;
//pencacah pengulangan
int output = "";
//hasil yang akan ditampilkan

Programming Concept
President University

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

//mengisikan elemen array


for (i=0;i<10;i++) {
bilangan[i] = i;
}
//mengisikan hasil dan pesan
for (i=0;i<10;i++) {
output += "Bilangan ke "+i+" = "+bilangan[i]+ "\n";
}
//menampilkan hasil
JOptionPane.showMessageDialog(null,output,"Isi dan Cetak
Array",JOptionPane.INFORMATION_MESSAGE);
//terminasi program
System.exit(0);
} //end void main
} ///end class isiDanCetakArray

Kasus 2: Perkalian Matriks 2x2


Petunjuk:
Nama file matriks.java
Buatlah program untuk mengisi dua buah matriks ordo 2x2, lalu melakukan
perkalian keduanya, kemudian menuliskan hasilnya. Implementasikan dengan
berpedoman pada algoritma yang diajarkan di depan kelas.
Kasus 3: Palindrom
Petunjuk:
Nama file palindrom.java
Buatlah sebuah array untuk menampung kata. Kemudian lakukan pemeriksaan
untuk menguji apakah kata tersebut adalah palindrom. Palindrom adalah kata
yang bila dibaca dari kiri akan memiliki bunyi yang sama dengan bila dibaca dari
kanan. Contoh palindrom MALAM, TAMAT, dan KASUS NABABAN RUSAK.
Kasus 4: Anagram
Petunjuk:
Nama file anagram.java
Buatlah dua array untuk menampung dua kata. Kemudian lakukan pemeriksaan
untuk menguji apakah kata tersebut adalah anagram. Anagram adalah dua kata
yang memiliki jumlah huruf dan jenisnya sama persis. Contoh palindrom SALAM
dan MALAS, SPOT dan STOP, LUPA dan PALU.

Programming Concept
President University

10

MODUL 4: PENGULANGAN (1)


Orang bijak tidak akan mengulangi kesalahan.

Pada modul 4 praktikum ini, mahasiswa belajar membuat pengulangan dengan


skema for. Ingatlah bahwa skema for dipakai untuk pengulangan yang sudah pasti
diketahui berapa kali aksi dilakukan.

4.1. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami karakteristik dan skema for
2. Memahami cara kerja dan pengulaman dengan skema for
3. Bisa menentukan pada kasus apa skema for sebaiknya digunakan

4.2. Kegiatan
1. Mengimplementasikan berbagai kasus dengan skema for

4.3. Kasus Praktikum


Kasus 1: Deret Aritmatika
Petunjuk:
Nama file deretAritmatika.java
Buatlah sebuah program untuk menghasilkan deret aritmatika. Ketikkan kode
program berikut ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

/*=============================================================
File
: deretAritmatika.java
Tanggal
: 17 November 2005
Programmer :
Deskripsi : - Menggunakan pengulangan dengan skema for
- Menyelesaikan kasus deret aritmatika
=============================================================*/
//menggunakan kelas yang sudah ada
Import javax.swing.JoptionPane;
public class deretAritmatika {
public static void main (String args[]) {
//deklarasi variabel
String output;
//hasil yang akan ditampilkan
int sukuawal;
//suku pertama deret
int sukuterkini; //suku terkini deret untuk proses pengulangan
int beda;
//beda deret
int nilaiakhir;
//nilai akhir pengulangan
int i;
//pencacah pengulangan
//inisialisasi
output
= "";
sukuawal
= 10;
sukuterkini = sukuawal;

Programming Concept
President University

11

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

beda
nilaiakhir

= 5;
= 10;

//pengulangan untuk menentukan suku-suku dalam deret


for (i=1;i<=nilaiakhir;i++ )
{
output += "Suku ke" +i+ " = " + sukuterkini + "\n";
sukuterkini = sukuterkini + beda;
}
//menampilkan hasil
JOptionPane.showMessageDialog(null,"::DeretAritmatika",
JOptionPane.INFORMATION_MESSAGE);
//terminasi program
System.exit(0);
}
}

Kasus 2: Pola Bintang


Petunjuk:
Nama file polaBintang.java
Buatlah sebuah program menerima sejumlah bilangan dan menampilkan polapola bintang berikut
N=5
N=5
N=5
N=5
N=5
*
*
*****
*
*****
***
***
****
**
*****
*****
*****
***
***
*****
***
*******
**
****
*****
*
*********
*
*****
*****
Kasus 3: Minimum dan Maksimum
Petunjuk:
Nama file minMax.java
Buatlah sebuah program menerima sejumlah bilangan dan diakhiri dengan 9999.
Keluaran dari program tersebut adalah nilai minimum dan maksimum bilangan
yang dimasukkan.
Kasus 4: Ganjil atau Genap
Petunjuk:
Nama file ganjilGenap.java
Buatlah sebuah program menerima masukan bilangan bulat n dan menuliskan
bilangan tersebut dan jenisnya.
Contoh, masukan n=8
1 ganjil
2 genap
3 ganjil
4 genap
5 ganjil
6 genap
7 ganjil
8 genap
Kasus 5: Faktorial
Programming Concept
President University

12

Petunjuk:
Nama file faktorial.java
Buatlah sebuah program yang bisa menghitung faktorial dari sebuah bilangan
bulat. Masukan adalah bilangan bulat n memberikan hasil n!
Kasus 6: Pangkat
Petunjuk:
Nama file pangkat.java
Buatlah sebuah program yang bisa menghitung pangkat dari sebuah bilangan
bulat. Masukan adalah bilangan bulat a dan bilangan bulat b dan memberikan
hasil ab
Kasus 7: Segitiga Pascal
Petunjuk:
Nama file segitigaPascal.java
Buatlah sebuah program untuk menambilkan N segitiga pascal yang pertama.
Masukan adalah bilangan bulat N dengan syarat 1 N 100
Contoh: masukan adalah N = 5
11
12 1
13 3 1
14 6 41
1 5 10 10 5 1
Kasus 8: Segitiga angka
Petunjuk:
Nama file segitigaAngka.java
Buatlah sebuah program yang dapat menyusun angka berikut
1
21
321
4321
54321
Kasus 9: Kombinasi
Petunjuk:
Nama file kombinasi.java
Buatlah sebuah program yang dapat menghitung kombinasi
Rumus aCb = a! / (a! * (1-b)!)
Kasus 10: Anak Ayam
Petunjuk:
Nama file anakAyam.java
Buatlah sebuah program yang akan menerima sebuah bilangan integer dan
memberikan pesan jumlah anak ayam yang mati satu persatu
Contoh
10 anak ayam, mati satu tinggal 9 anak anak ayam
9 anak ayam, mati satu tinggal 8 anak anak ayam
...
2 anak ayam, mati satu tinggal 1 anak anak ayam
1 anak ayam, mati satu mat isemua
Programming Concept
President University

13

MODUL 5: PENGULANGAN (2)


Selesaikan masalahmu dengan cara memecahnya
menjadi bagian-bagian yang kecil dan sederhana.

Pada modul 5 praktikum ini, mahasiswa belajar membuat pengulangan dengan


skema repeat-until, while-do, dan do-while.

5.2. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami karakteristik skema repeat-until
2. Memahami karakteristik skema while-do
3. Memahami cara kerja pengulangan dengan skema repeat-until
4. Memahami cara kerja pengulangan dengan skema while-do
5. Bisa menentukan pada kasus apa masing-masing skema cocok dipakai

5.3. Kegiatan
1. Menyelesaikan berbagai kasus dengan skema pengulangan yang tepat

5.4. Kasus Praktikum


Kasus 0: Jumlah Bilangan
Petunjuk:
Nama file sumBilangan.java
Uji coba pembanding (tidak ikut dikumpulkan sebagai tugas praktikum)
Cobalah untuk melakukan kompilasi program berikut, dan perhatikan perbedaan
implementasi untuk masing-masing skema yang digunakan.
Deskrispi: Program membaca sebuah bilangan bulat positif N, dan menuliskan
1,2,3...N dan menjumlahkan 1+2+3+...+N serta menuliskan hasil penjumlahan.
Solusi 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

/*===================================================================
File
: SumBil1.java
Tanggal
: 06 Oktober 2005
Programmer: Ivan Michael Siregar
Deskripsi : - mencetak bilangan 1 hingga n
- pengulangan dengan skema for
=====================================================================*/
import javax.swing.JOptionPane;
public class SumBil1 {
public static void main(String[] args) {
//mendeklarasikan variabel
String ns;
//bilangan dalam string
String output = ""; //output dalam string
int n;
//bilangan dalam integer
int i;
//pencacah sebagai kendali pengulangan
//menerima masukan

Programming Concept
President University

14

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

ns = JOptionPane.showInputDialog(null,"Bilangan: ");
//melakukan konversi
n = Integer.parseInt(ns);
//proses pengulangan
for (i=1;i<=n;i++) {
output += " "+ i;
}
//menampilkan hasil
JOptionPane.showMessageDialog(null,output,"Cetak 1 FOR",JOptionPane.INFORMATION_MESSAGE);

"+ns+" dengan

//terminasi program
System.exit(0);
}
} //end SumBil1

Source Code 1.

SumBil versi 1

Bila program tersebut dijalankan akan memberikan hasil seperti gambar berikut:

Gambar 1.

SumBil versi 1

Solusi 2
Berikut adalah implementasi Java untuk solusi versi 2. Perhatikan transformasi
notasi dari algoritma ke dalam Java untuk skema while-do.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

/*===================================================================
File
: SumBil2.java
Tanggal
: 06 Oktober 2005
Programmer : Ivan Michael Siregar
Deskripsi : - mencetak bilangan 1 hingga n
- pengulangan dengan skema while-do
=====================================================================*/
import javax.swing.JOptionPane;
public class SumBil2 {
public static void main(String[] args){
//mendeklarasikan variabel
String ns;
String output = "";

Programming Concept
President University

15

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
36
37
38
39
40
41
42

//bilangan dalam string


//output dalam string
int n;
//bilangan dalam integer
int i=1; //pencacah sebagai kendali pengulangan
//menerima masukan
ns = JOptionPane.showInputDialog(null,"Bilangan: ");
//melakukan konversi
n = Integer.parseInt(ns);
//proses pengulangan
while (i<=n) {
output += " "+ i;
i++;
}
//menampilkan hasil
JOptionPane.showMessageDialog(null,output,"Cetak 1 - "+ns+" dengan
WHILE-DO",JOptionPane.INFORMATION_MESSAGE);
//terminasi program
System.exit(0);
}
} //end SumBil2

Source Code 2.

SumBil versi 2

Bila program tersebut dijalankan akan memberikan hasil yang sama persis seperti
program versi 1.

Programming Concept
President University

16

Solusi 3
Berikut adalah implementasi Java untuk solusi versi 2. Perhatikan transformasi
notasi dari algoritma ke dalam Java untuk skema repeat-until.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
36
37
38
39

/*===================================================================
File
: SumBil3.java
Tanggal
: 06 Oktober 2005
Programmer : Ivan Michael Siregar
Deskripsi : - mencetak bilangan 1 hingga n
- pengulangan dengan skema repeat-until
=====================================================================*/
import javax.swing.JOptionPane;
public class SumBil3 {
public static void main(String[] args){
//mendeklarasikan variabel
String ns;
//bilangan dalam string String
output = ""; //output dalam string
int n;
//bilangan dalam integer
int i=1;
//pencacah sebagai kendali pengulangan
//menerima masukan
ns = JOptionPane.showInputDialog(null,"Bilangan: ");
//melakukan konversi
n = Integer.parseInt(ns);
//proses pengulangan
do {
output += " "+ i;
i++;
}
while (i<=n);
//menampilkan hasil
JOptionPane.showMessageDialog(null,output,"Cetak 1 - "+ns+" dengan
REPEAT-UNTIL",JOptionPane.INFORMATION_MESSAGE);
//terminasi program
System.exit(0);
}
} //end SumBil3

Source Code 3.

SumBil versi 3

Kasus 2: Memanggil Fungsi


Nama file mystery1.java
Tulisakan kode program berikut kemudian kompilasi. Apakah yang dihasilkan?
1
2
3
4

/*===================================================================
File
: Mystery.java
Tanggal
: 06 Oktober 2005
Programmer : Ivan Michael Siregar

Programming Concept
President University

17

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

=====================================================================*/
public class Mystery {
public static void main(String[] args){
int y, x = 1, total = 0;
while (x <= 10) {
y = x * x;
System.out.println(y);
total += y;
++x;
}
System.out.println("Total adalah " +total);
}
} //end Mystery

Programming Concept
President University

18

MODUL 6: METHOD (FUNGSI DAN PROSEDUR)


Selesaikan masalahmu dengan cara memecahnya
menjadi bagian-bagian yang kecil dan sederhana.

Pada modul 3 praktikum ini, mahasiswa belajar membuat method dan kemudian
memanggilnya. Method adalah bagian program yang digunakan untuk mengakses
komponen objek atau untuk melaksanakan instruksi khusus tertentu.

6.2. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami karakteristik method
2. Memahami cara pendefinisian method
3. Memahami cara kerja method
4. Mampu menggunakan method

6.3. Kegiatan
1. Menggunakan method yang sudah ada.
2. Membuat method baru dan membandingkan hasilnya dengan method yang
sudah. ada.
3. Membuat method dengan berbagai tipe parameter.
4. Mengkombinasikan penggunaan method dan struktur analisa kasus dan
pengulangan.

6.4. Kasus Praktikum


Kasus 1: Apakah Huruf A
Petunjuk:
Nama file IsAnA_call.java
Tuliskanlah fungsi IsAnA yang mentest apakah sebuah karakter yang diberikan
kepadanya adalah sebuah huruf A. Harga yang dihasilkan adalah benar jika
huruf itu A,salah jika huruf itu bukan A
Source code sudah diberikan, lakukan implementasi. Baris 34-41 adalah
pendeksripsian fungsi, dan baris 22 adalah pemanggilannya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14

/*===================================================================
File
: IsAnA_call.java
Tanggal
: 18 September 2005
Programmer: Ivan Michael Siregar
Deskripsi : - Mendeklarasikan programmer-defined method
- Menggunakan method yang telah dibuat
- Hanya bentuk function
=====================================================================*/
import javax.swing.*;
public class IsAnA_call {
public static void main(String[] args) {
//mendeklarasikan variabel

Programming Concept
President University

19

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

String ns; //bilangan dalam string


boolean hasil; //bilangan dalam integer
//menerima masukan
ns = JOptionPane.showInputDialog(null,"Masukkan karakter: ");
//memanggil method
hasil = IsAnA(ns);
//menampilkan hasil perhitungan
JOptionPane.showMessageDialog(null,"Hasil Pemeriksaan "+hasil);
}
//deklarasi method IsAnA
//menerima sebuah character
//mengirimkan True jika character tersebut adalah huruf A
//mengirimkan False jika character tersebut bukan huruf A
public static boolean IsAnA(String x) {
if (x.equalsIgnoreCase("A")) {
return(true);
}
else {
return(false);
}
} //end IsAnA
} ///end class IsAnA_call

Kasus 2: Memanggil Fungsi


Nama file factCall.java
Diberikan algoritma berikut, buatlah implementasinya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

function fact(n:intger)integer
{menerima sebuah bilangan integer, menghitung nilai faktorialnya dengan
rumus n! = n * (n-1) * (n-2) ... dan mengembalikan hasilnya
}
DEKLARASI LOKAL
{kelompok variabel}
total : integer
i
: integer

{hasil faktorial}
{pencacah pengulangan}

DESKRIPSI LOKAL
total 1
for (in downto 1) do
total total * i
end for
return (total)
Algoritma Fact_call
{memasukkan nilai sebuah bilangan, kemudian menghitung faktorial bilangan
tersebut dengan memanggil fungsi fact dan menuliskan hasilnya}
DEKLARASI

Programming Concept
President University

20

25
26
27
28
29
30
31
32
33
34

{kelompok variabel}
bilangan : integer
{masukan}
hasil
: integer
{hasil faktorial}
{kelompok fungsi}
function fact(n:intger)integer
DESKRIPSI
read (bilangan)
hasil fact(bilangan)
write (hasil)

Kasus 3: Fungsi Memanggil Fungsi


Nama file combCall.java
Lakukan modifikasi terhadap program pada kasus 2, sehingga akan ada 2 buah
fungsi seperti yang ada pada potongan algoritma beriku.
1
2
3
4
5
6
7
8
9

function faktorial(n:integer)integer
{menerima sebuah bilangan integer, menghitung nilai faktorialnya dengan
rumus n! = n * (n-1) * (n-2) ... dan mengembalikan hasilnya}

function kombinatorial(n,p:integer)integer
{menerima dua bilangan integer, menghitung nilai kombinasinya dengan
rumus nCp = n! / [(n-p)! * p!]
dan mengembalikan hasilnya. Pada saat
penghitungan faktorial maka dilakukan pemanggilan fungci fact}

Ujilah method tersebut dengan membuat program pemanggil (driver).

Kasus 4: Konversi Real ke Integer


Nama file RealToInteger.java
Tuliskan fungsi untuk melakukan konversi bilangan real ke bilangan integer.
Contoh bilangan real 12.3 akan dikonversi ke bilangan integer 12. Gunakan
method round yang ada pada kelas math. Ujilah method tersebut dengan
membuat program pemanggil (driver).
Kasus 5: Kuadran Titik
Nama file KuadranTitik.java
Tuliskan fungsi untuk mengetahui sebuah nilai kuadran dari sebuah titik pada
bidang kartesius. Misalkan titik p(-1,-1) maka fungsi tersebut akan
mengembalikan nilai III (dalam angka Romawi). Ujilah method tersebut dengan
membuat program pemanggil (driver).
Kasus 6: X Pangkat Y
Nama file XPangkatY.java
Tuliskan fungsi pangkat untuk memangkatkan bilangan integer XY. Contoh
bilangan adalah 53 maka hasil fungsi tersebut adalah 125. Ujilah method tersebut
dengan membuat program pemanggil (driver).
Kasus 7: Konversi Nilai ke Terbilang
Nama file NilaiToTerbilang.java

Programming Concept
President University

21

Tuliskan fungsi untuk melakukan konversi suatu nilai ke bentuk terbilangnya.


Misalnya jika pengguna memasukkan 12345 fungsi ini akan mengembalikan dua
belas ribu tiga ratus empat puluh lima. Fungis ini menerima string yang
panjangnya 15 digit. Ujilah method tersebut dengan membuat program
pemanggil (driver).

Kasus 2: Rata-rata Bilangan


Nama file rataBilangan.java
Buatlah sebuah program yang menerima n buah bilangan dan akan berhenti
menerima bilangan jika masukan adalah 9999. Kemudian hitunglah nilai rata-rata
seluruh bilangan yang dimasukkan tersebut.
Pilihlah skema pengulangan yang tepat
Kasus 3: Login dan Password
Nama file loginPassword.java
Buatlah sebuah program sederhana untuk memeriksa login dan password
seorang pengguna komputer. Tentukan sendiri login dan password.
Pilihlah skema pengulangan yang tepat
Kasus 4: Rata-rata Bilangan Genap
Nama file rataBilanganGenap.java
Buatlah sebuah program sederhana untuk menuliskan N bilangan genap yang
pertama dan menuliskan jumlah dan rata-ratanya.
Pilihlah skema pengulangan yang tepat
Contoh:
N=6
Rata-rata: 52/6 = 8.66
Kasus 5: Pangkat Bilangan
Nama file pangkatBilangan.java
Buatlah sebuah program untuk menghitung pangkat bilangan dengan rumus ab
hanya dengan menggunakan operator penjumlahan (+)
Petunjuk:
a. Buatlah function Kali(x,y) untuk menyelesaikan proses perkalian hanya
dengan menggunakan operator penjumlahan
b. Kemudian buatlah program utama yang akan menyelesaikan pangkat dengan
melakukan pemanggilan perulang terhadap function Kali
Pilihlah skema pengulangan yang tepat
Kasus 6: Bilangan Prima
Nama file bilanganPrima.java
Buatlah sebuah program untuk mencetak bilangan prima yang lebih kecil dari
1000

Programming Concept
President University

22

MODUL 7: REKURSI
Selesaikan masalahmu dengan cara memecahnya
menjadi bagian-bagian yang kecil dan sederhana.

Pada modul 7 praktikum ini, mahasiswa


mengimplementasikan proses rekursi.

belajar

membuat

program

yang

7.1. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami cara kerja rekrusi
2. Memahami cara membuat rekursi
3. Mampu menentukan kapan sebaiknya menggunakan rekursi

7.2. Kegiatan
1. Menyelesaikan berbagai masalah dengan rekursi

7.3. Kasus Praktikum


Kasus 1: Rekursi
Petunjuk:
Nama file recFactorial.java
Source code berikut adalah untuk membuat sebuah array, mengisi seluruh
elemennya, dan menuliskannya.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

/*===================================================================
File
: rekursi.java
Tanggal
: 18 September 2005
Programmer: Ivan Michael Siregar
Deskripsi : - Rekursi bisa menggantikan pengulangan
- Dengan rekursi sebuah fungsi akan memanggil dirinya sendiri
=====================================================================*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
//Rekursi.java
public class rekursi {
public static long Faktorial(int n) {
if ((n != 1) && (n!=0)) {
return (n*Faktorial(n-1));
}
else {
return (1);
}
}
public static void main (String args[]) {
BufferedReader
in
=
new
InputStreamReader(System.in));

Programming Concept
President University

BufferedReader(new

int n;

23

29
30
31
32
33
34
35
36
37
38

try {
System.out.print("Masukan sebuah integer ");
n
= Integer.parseInt(in.readLine());
System.out.println("n! = "+Faktorial(n));
}
catch (Exception e) {
System.err.println("Ada kesalahan dalam penginputan");
}
}
}

Kasus 2: Times
Petunjuk:
Nama file recTimes.java
Buatlah implementasi untuk menyelesaikan kasus perkalian dua bilangan a dan
b, namun tanpa menggunakan operator perkalian (x), tetapi cukup menggunakan
operator penjumlahan (+)
Contoh: a x b = a + a + a + ... + a (banyaknya a adalah sebanyak b)
Kasus 3: Power1
Petunjuk:
Nama file recPower1.java
Buatlah implementasi untuk menyelesaikan kasus perpangkatan dua bilangan a
dan b, namun tanpa menggunakan operator pangkat (sqr), tetapi cukup
menggunakan operator perkalian (x)
Contoh: ab = a x a x a x ... x a (banyaknya a adalah sebanyak b)
Kasus 3: Power2
Petunjuk:
Nama file recPower2.java
Buatlah implementasi untuk menyelesaikan kasus perpangkatan dua bilangan a
dan b, namun tanpa menggunakan operator pangkat (sql) dan perkalian (x),
tetapi cukup menggunakan operator penjumlahan (+). Gunakan fungsi recTimes
untuk menyelesaikan masalah tersebut (rekursi pada rekursi)

Programming Concept
President University

24

MODUL 8: SEARCHING
Selesaikan masalahmu dengan cara memecahnya
menjadi bagian-bagian yang kecil dan sederhana.

Pada modul 9 praktikum ini, mahasiswa belajar mengimplementasikan algoritma


searching yang umum digunakan yaitu sequential search dan binary search.

8.1. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami cara kerja berbagai algoritma searching
2. Memahami kelebihan dan kekurangan berbagai algoritma searching
3. Mampu menggunakan berbagai algoritma searching

8.2. Kegiatan
1. Mengimplementasikan algoritma sequential search dan binary search

8.3. Kasus Praktikum


Kasus 1: Sequential Search
Petunjuk:
Nama file searchSequential.java
Implementasikan algoritma yang sudah diajarkan di kelas.
Kasus 2: Binary Search
Petunjuk:
Nama file searchBinary.java
Implementasikan algoritma yang sudah diajarkan di kelas.
Kasus 3: Insertion Search
Petunjuk:
Nama file searchInsertion.java
Implementasikan algoritma yang sudah diajarkan di kelas.

Programming Concept
President University

25

MODUL 9: SORTING
Selesaikan masalahmu dengan cara memecahnya
menjadi bagian-bagian yang kecil dan sederhana.

Pada modul 8 praktikum ini, mahasiswa belajar melakukan pengurutan data. Data
bisa terdapat pada array atau pada file tertentu. Algoritma sorting sangat kaya akan
solusi. Solusi yang umum digunakan adalah Bubble Sort, Selection Sort, dan
Insertion Sort.

9.2. Tujuan
Tujuan dari bab tersebut adalah:
1. Memahami cara kerja berbagai algoritma sorting
2. Memahami kelebihan dan kekurangan berbagai algoritma sorting
3. Mampu menggunakan berbagai algoritma sorting

9.3. Kegiatan
1. Mengimplementasikan berbagai algoritma sorting yang umum

9.4. Kasus Praktikum


Kasus 1: Bubble Sort
Petunjuk:
Nama file bubbleSort.java
Tuliskan kode berikut kemudian kompilasi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

/*===================================================================
File
: bubbleSort.java
Tanggal
: 18 September 2005
Programmer: Ivan Michael Siregar
Deskripsi : - Mengurutkan elemen matriks dengan bubble sort
- Bubble sort adalah teknik pengurutan yang paling sederhana
- Prinsipnya sesuai dengan namanya (bubble+=gelembung)
yaitu memindahkan nilai yang paling kecil (ringan) ke
urutan pertama
- Buble sort memiliki kelemahan, karena selalu melakukan
pertukaran sehingga membuat proses menjadi lebih lambat
=====================================================================*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
//Bubble.java
public class bubbleSort{
//Banyak element array integer
final static int Nmax= 10;
public static void Bubble_Ascending(int b[]) {
int temp =0;

Programming Concept
President University

26

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

for (int i=0;i<=Nmax-2;i++) {


for (int j=Nmax-1;j>=i+1;j--) {
if (b[j]<b[j-1]) {
temp = b[j-1];
b[j-1] = b[j];
b[j] = temp;
}
}
}
}
public static void main (String args[]) {
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
int b[] = new int[Nmax];
try {
//Menerima inputan sebanyak Nmax kali
for (int i=0;i<=Nmax-1;i++) {
System.out.print("Enter an integer ");
b[i] = Integer.parseInt(in.readLine());
}
Bubble_Ascending(b);
for (int i=0;i<=Nmax-1;i++) {
System.out.print(b[i]+" , ");
}
}
catch (Exception e) {
System.out.println("ERROR ada kesalahan dalam input");
}
}
}

Kasus 2: Selection Sort


Petunjuk:
Nama file selectionSort.java
Implementasikan algoritma yang sudah diajarkan di kelas.

Kasus 3: Insertion Sort


Petunjuk:
Nama file insertionSort.java
Implementasikan algoritma yang sudah diajarkan di kelas.

Programming Concept
President University

27

Anda mungkin juga menyukai