Aplikasi ini digunakan untuk melakukan perhitungan nilai mata kuliah berdasarkan komponen penilaian yang telah ditentukan seperti assessment, tugas, praktikum dengan menggunakan method. Selain itu, aplikasi ini juga digunakan untuk mencatat data barang dan transaksi penjualan barang di sebuah ritel makanan dengan menggunakan class dan method.
1. MI1264
ALGORITMA DAN PEMROGRAMAN LANJUT
MODUL PRAKTIKUM
Departemen Teknologi Informasi
Telkom Applied Science School
2013
Hanya dipergunakan di lingkungan Telkom Applied Science School
2. Daftar Penyusun
Departemen Teknologi Informasi
Telkom Applied Science School
2013
H a l i
Daftar Penyusun
1. Versi 1 : 2014 02 : Dahliar Ananda, M.T.
3. Daftar Isi
Departemen Teknologi Informasi
Telkom Applied Science School
2013
H a l ii
Daftar Pustaka
1 Bab I Method ..............................................................................................................................................1
1.1 Identitas .............................................................................................................................................1
1.2 Pertanyaan Pendahuluan...................................................................................................................2
1.3 Praktik 1 – Nilai Mata Kuliah..............................................................................................................3
1.3.1 Langkah penyelesaian....................................................................................................................3
1.3.2 Pengamatan ...................................................................................................................................5
1.4 Praktik 2 - Ritel Makanan...................................................................................................................6
1.4.1 Soal.................................................................................................................................................6
1.4.2 Langkah Penyelesaian....................................................................................................................6
1.4.3 Pengamatan .................................................................................................................................10
1.5 Test akhir..........................................................................................................................................11
1.6 Resume.............................................................................................................................................12
1.6.1 Tugas Pendahuluan......................................................................................................................12
1.6.2 Jurnal Pengamatan.......................................................................................................................12
1.6.3 Tugas Akhir...................................................................................................................................12
2 Daftar Pustaka ...........................................................................................................................................iii
4. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 1
1 BAB I METHOD
1.1 IDENTITAS
Kajian
Kelas, Obyek dan anggota didalamnya
Topik
1. Method
2. Parameter
3. Cakupan variabel
Referensi
1. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms Third
Edition. Cambridge: The MIT Press.
2. Sedgewick, R. (2002). Algorithm in Java: parts 1-4 Third Edition. Boston: Pearson Education, Inc.
3. P. Deitel and H. Deitel, Java How To Program 9th Edition, Prentice Hall, 2011.
4. Poo, Danny, Derek Kiong, and Swarnalatha Ashok. Object-Oriented Programming and Java, 2nd
Edition. Springer, 2010.
5. Wu, C. Thomas. An Introduction to Object-Oriented Programming with Java. McGraw-Hill, 2009.
Kompetensi Utama
1. Mahasiswa mampu membuat method
2. Mahasiswa memahami penggunaan parameter formal dan aktual
3. Mahasiswa memahami cakupan variabel dan pengaksesan terhadap variabel tersebut
4. Mahasiswa mampu membuat sebuah program sederhana sesuai dengan kasus yang diberikan
Lama Kegiatan Kajian
1. Pertemuan Terbimbing : 2 x 100 menit
2. Kegiatan Mandiri : 1 x 120 menit
Parameter Penilaian
1. Tugas Pendahuluan 20%
2. Jurnal 50%
3. Tugas Akhir 30%
5. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 2
1.2 PERTANYAAN PENDAHULUAN
Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu
pengerjaan maksimal 20 menit.
1. Apakah yang dimaksud dengan :
a. Parameter formal
b. Parameter aktual
Berikan contoh minimal 3 implementasi dari kedua jenis parameter diatas
2. Buatlah sebuah aplikasi yang dapat digunakan untuk menghitung rumus fungsi berikut ini
Nilai F(x, y) untuk F(x, y) = xy +2x + 2y + 6
Gunakan Method untuk perhitungan fungsi diatas
6. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 3
1.3 PRAKTIK 1 – NILAI MATA KULIAH
Buatlah sebuah aplikasi yang dapat digunakan untuk melakukan perhitungan nilai mata kuliah. Nilai
didapatkan dari komponen perhitungan berikut ini
a. Bobot assessment 1 : 15%
b. Bobot assessment 2 : 15%
c. Bobot assessment 3 : 10%
d. Bobot Tugas : 20%
e. Bobot Praktikum : 40%
1.3.1 Langkah penyelesaian
Pada solusi ini, disusun akan menggunakan sebuah kelas dengan beberapa method didalamnya.
1. Pembuatan kelas Nilai dan atribut-atribut dari kelas tersebut
class NilaiMK{
private String nim;
private int a1;
private int a2;
private int a3;
private int tugas;
private int prakt;
private double nilai;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader inp = new BufferedReader(isr);
}
2. Pada solusi ini, akan dibuat beberapa method yang memiliki fungsionalitas spesifik sesuai
dengan kebutuhan aplikasi.
a. Method inputNilai.
Method ini digunakan untuk menerima inputan nilai dari pengguna. Setelah seluruh
inputan telah diterima, kemudian akan melakukan pemanggilan terhadap method
hitungNilai() untuk mendapatkan nilai akhirnya. Pemanggilan dilakukan secara
langsung bertujuan agar pada setiap perubahan nilai, maka nilai akhir akan langsung
berubah.
1. void inputData(){
2. System.out.println("Nilai Algoritma dan Pemrograman");
3. try{
4. System.out.print("NIM : ");
5. this.nim = inp.readLine();
6. System.out.print("Nilai assessment 1 : ");
7. this.a1= Integer.parseInt(inp.readLine());
8. System.out.print("Nilai assessment 2 : ");
9. this.a2= Integer.parseInt(inp.readLine());
7. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 4
10. System.out.print("Nilai assessment 3 : ");
11. this.a3= Integer.parseInt(inp.readLine());
12. System.out.print("Nilai tugas : ");
13. this.tugas= Integer.parseInt(inp.readLine());
14. System.out.print("Nilai praktikum : ");
15. this.prakt= Integer.parseInt(inp.readLine());
16. }
17. catch(Exception e){
18. System.out.println("Error : "+e);
19. }
20. hitungNilai(this.a1, this.a2, this.a3, this.tugas, this.prakt);
21. }
b. Method hitungNilai.
Method ini digunakan untuk melakukan perhitungan sesuai dengan rumus
perhitungan nilai yang telah ditentukan.
1. void hitungNilai(int a1, int a2, int a3, int tugas, int prakt){
2. this.nilai = (0.15*a1);
3. this.nilai = nilai + (0.15*a2);
4. this.nilai = nilai + (0.1*a3);
5. this.nilai = nilai + (0.2*tugas);
6. this.nilai = nilai + (0.4*prakt);
7. }
c. Method viewNilai
Method ini digunakan untuk menampilkan data yang telah dimasukkan, dan dihitung
nilai akhirnya.
1. void viewNilai(){
2. System.out.println("nnnNilai Assessment");
3. System.out.println("NIM : " + this.nim);
4. System.out.println("Assessment 1 : " + this.a1);
5. System.out.println("Assessment 2 : " + this.a2);
6. System.out.println("Assessment 3 : " + this.a3);
7. System.out.println("Tugas : " + this.tugas);
8. System.out.println("Praktikum : " + this.praktikum);
9. System.out.println("Nilai Akhir : " + this.nilai);
10. }
8. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 5
d. Method main.
Method ini merupakan method utama yang akan dijalankan dalam program java.
1. public static void main(String[] xyz){
2. NilaiMK nmk = new NilaiMK();
3. nmk.inputData();
4. nmk.viewNilai();
5. }
1.3.2 Pengamatan
1. Gabungkan kode program diatas, sehingga dapat menjadi sebuah kode program yang lengkap.
2. Pada method hitungNilai(), proses perhitungan masih dilakukan secara parsial untuk masing-
masing komponen nilai. Ubahlah method tersebut, sehingga hanya akan terdapat 1 baris
perhitungan nilai.
3. Pada kode program diatas, terdapat beberapa pengaksesan variabel dengan menggunakan
keyword this.
a. Apakah yang dimaksud dengan keyword this.
b. Jelaskan mengenai penggunaan kode tersebut.
9. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 6
1.4 PRAKTIK 2 - RITEL MAKANAN
Pada bagian praktik ini, akan dipelajari mengenai proses pengelolaan data dengan menggunakan
method.
1.4.1 Soal
Soal berikut ini merupakan lanjutan dari materi praktikum Bab 1. Pada bagian ini, ditambahkan
variabel jumlah yang digunakan dalam proses transaksi barang.
Sebuah perusahaan ritel di bidang makanan hendak membuat sebuah aplikasi untuk melakukan
pendataan barang yang hendak dijualnya. Entitas data utama yang harus dicatat dalam sistem
tersebut adalah data barang. Buatlah sebuah sub-modul pencatatan data barang, dan kemudian
menampilkan data barang yang telah dimasukkan tersebut.
Mohon diperhatikan bahwa solusi pada kasus ini, diasumsikan setiap barang hanya memiliki satu
jenis item saja. Sehingga proses penambahan dan pengurangan stok barang hanya dilakukan pada
obyek tersebut saja.
1.4.2 Langkah Penyelesaian
1. Pada kasus ini, akan dibuat 2 (dua) buah kelas dalam proses pembuatan kodenya.
a. Kelas Barang.
Digunakan sebagai kelas entitas barang untuk menyimpan data atribut barang.
b. Kelas Ritel.
Digunakan sebagai kelas utama dari keseluruhan proses pada aplikasi ritel
perusahaan tersebut. Kelas ini berisi jalan dari proses bisnis dari keseluruhan
fungsionalias yang dimiliki oleh aplikasi ritel tersebut.
2. Pembuatan kelas Barang
a. Pembuatan kelas Barang
1. class Barang{
2. String kode;
3. String nama;
4. int stock;
5. int hargaJual;
6. BufferedReader input = new BufferedReader(new
InputStreamReader(System.in));
7.
8.
9. }
10. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 7
b. Membuat kode program untuk input data barang
i. Import kelas BufferedReader dan InputStreamReader
import java.io.BufferedReader;
import java.io.InputStreamReader;
ii. Membuat obyek inputan
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(isr);
c. Proses input data
Input data pada kelas barang dilakukan pada sebuah method inputData(). Hal ini
dilakukan untuk mempermudah dalam melakukan pengelolaan kode program.
Dimana akan dilakukan pemisahan terhadap proses-proses yang dilakukan pada
kode program kelas tersebut.
1. public void inputData(){
2. try{
3. String temp="";
4. System.out.println("Menu Input Data Barang ");
5. System.out.print("Kode : ");
6. kode = input.readLine();
7. System.out.print("Nama : ");
8. nama = input.readLine();
9. System.out.print("Stock Awal : ");
10. temp= input.readLine();
11. stock= Integer.parseInt(temp);
12. System.out.print("Harga Jual : ");
13. temp= input.readLine();
14. hargaJual = Integer.parseInt(temp);
15. pressEnter();
16. }
17. catch(Exception e){
18. System.out.println(e);
19. }
20. }
11. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 8
d. Membuat kode program untuk menampilkan data barang
1. public void viewData(){
2. System.out.println("Menampilkan detil barang");
3. System.out.println("Nama : "+nama);
4. System.out.println("Kode : "+kode);
5. System.out.println("Jumlah Stok : "+stock);
6. System.out.println("Harga Jual : "+hargaJual);
7. pressEnter();
8. }
e. Membuat kode program untuk proses pengurangan stok pada saat pembelian
barang. Pada method ini, diasumsikan proses input telah dilakukan pada kelas utama
(Ritel). Sehingga yang dilakukan adalah melakukan proses udate data stock barang
saja.
1. public void jualStock(int ubah){
2. System.out.println("Menu Penjualan Barang");
3. System.out.println("Stok awal : "+ stock);
4. this.stock = this.stock - ubah;
5. System.out.println("Pengurangan : "+ ubah);
6. System.out.println("Stok akhir : "+ stock);
7. System.out.println("Data telah diubah");
8. pressEnter();
9. }
f. Kode berikut ini digunakan untuk penambahan fitur press enter. Fitur tersebut untuk
memperpendek penulisan kode, karena akan digunakan pada banyak fitur utama
lainnya. Cara ini sebenarnya tak ubahnya seperti proses input data biasa, namun
tidak dilakukan penampungan data. Proses input bebas menggunakan class input
apa saja, baik Scanner atau BufferedReader. Pada contoh kasus ini, akan digunakan
cara yang kedua menggunakan BufferedReader.
1. void pressEnter(){
2. try{
3. System.out.println("Tekan enter untuk melanjutkan");
4. input.readLine();
5. }
6. catch(Exception e){
7. System.out.println(e);
8. }
9. }
12. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 9
4. Membuat kode program pada kelas Ritel
Kelas ini merupakan kelas utama untuk menjalankan keseluruhan operasi pada aplikasi Ritel.
Pada solusi ini, diasumsikan
a. User melakukan input data barang pada kelas Barang, dengan menggunakan method
inputData()
b. Hal yang sama dapat dilakukan pada method jualStock(), dimana proses input jumlah
stock akan dilakukan pada kelas Barang. Namun sebagai contoh pembeda, diasumsikan
proses input jumlah stock dilakukan pada kelas Ritel.
1. class Ritel{
2. public static void main(String[] args) {
3. Barang brg1 = new Barang();
4. Barang brg2 = new Barang();
5. brg1.inputData();
6. brg2.inputData();
7.
8. brg1.jualStock(33);
9. brg2.jualStock(45);
10.
11. brg1.viewData();
12. brg2.viewData();
13. }
14. }
13. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 10
1.4.3 Pengamatan
4. Gabungkan kode program diatas, sehingga dapat menjadi sebuah kode program yang lengkap.
5. Pada proses penjualan barang (method jualStock()), masih belum didapatkan total harga yang
harus dibayarkan pada saat proses jual barang. Tambahkan kode baru, yang digunakan untuk
menghitung besaran harga yang harus dibayarkan pada transaksi tersebut. Silahkan menyisipkan
pada kode yang telah ada, atau membuat sebuah method baru pada kelas barang.
6. Pada kode diatas, hanya terdapat proses pengurangan jumlah stock saja. Buatlah sebuah method
baru, yang digunakan untuk melakukan proses penambahan stock barang.
14. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 11
1.5 TEST AKHIR
Buatlah sebuah aplikasi Perbankkan sederhana, yang dapat melakukan beberapa proses berikut ini.
a. Penambahan rekening baru
b. Lihat Saldo,
c. Menambah saldo,
d. Menarik saldo.
Catatan :
1. Tentukan parameter-parameter yang dibutuhkan pada setiap fungsionalitas diatas.
2. Proses pengecekan kecukupan saldo belum dibutuhkan pada bagian ini.
15. Method
Program Studi Manajemen Informatika
Telkom Applied Science School
2013
H a l 12
1.6 RESUME
1.6.1 Tugas Pendahuluan
1. Selesaikan soal yang terdapat pada bagian Tugas Pendahuluan dalam waktu maksimal
20 menit.
2. Jawablah pada selembar kertas, silahkan menyelesaikan soal no. 2 dengan menggunakan
sintaks yang anda kuasai [Pseudocode atau Pascal atau Java]
3. Kumpulkan jawaban anda sesuai dengan instruksi dari asisten.
1.6.2 Jurnal Pengamatan
1. Jawablah pertanyaan-pertanyaan yang terdapat pada bagian pengamatan.
2. Kumpulkan jawaban anda sesuai dengan instruksi dari asisten.
1.6.3 Tugas Akhir
1. Jawablah soal yang terdapat pada bagian Tugas Akhir
2. Jawaban tugas akhir dikumpulkan maksimal 24 jam setelah praktikum berakhir.
3. Kumpulkan jawaban anda sesuai dengan instruksi dari asisten.
16. Daftar Pustaka
Departemen Teknologi Informasi
Telkom Applied Science School
2013
H a l iii
2 DAFTAR PUSTAKA
[1] P. Deitel and H. Deitel, Java How To Program 9th Edition, Prentice Hall, 2011.
[2] E. Turban, D. Leidner, E. McLean and J. Wetherbe, Information Technology for Management,
Wiley International, 2008.
[3] R. Sedgewick, Algorithm in Java: parts 1-4 Third Edition, Boston: Pearson Education, Inc, 2002.
[4] T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms Third Edition,
Cambridge: The MIT Press, 2009.
[5] D. Ananda, P. Mayadewi, A. Suryan, L. Rasiana and H. Kusmayadi, Algoritma dan Pemrograman,
Bandung: Politeknik Telkom, 2009.
[6] M. Cantù, Essential Pascal 4th Edition, http://marcocantu.com, 2008.