Dasar-dasar Pemrograman : Methods dan Contoh Soal

Dasar-dasar Pemrograman : Methods dan Contoh Soal



Method 

Method adalah sekumpulan instruksi yang memiliki nama dan dijalankan secara sekuensial. Pendefinisian dari sebuah method dibagi menjadi dua bagian, yaitu: 

  • Header : Pendefinisian access modifier, nama method, keluaran, dan masukan untuk method tersebut 
  • Body : Statement – statement yang akan dieksekusi pada saat method tersebut dipanggil Bentuk umum dari pendefinisian sebuah method dapat dilihat pada ilustrasi di bawah ini.


Keterangan

  • AccessSpecifier: Pada tahapan belajar Anda saat ini, tiap method yang Anda buat akan memiliki access specifier public static. 
  • tipeNilaiKembalian: Bagian ini menentukan tipe dari data yang dikembalikan oleh method. Anda dapat menggunakan seluruh tipe data, atau keyword “void” untuk bagian ini. Keyword “void” memiliki arti bahwa method tersebut tidak mengembalikan nilai apapun. 
  • namaMethod: Nama dari method. Penamaan method pada Java menggunakan konvensi yang sama dengan cara penamaan variabel. 
  • tipeData: Sama seperti tipe data pada deklarasi variable. 
  • namaParameter: Nama variabel untuk parameter tersebut.

Mendefinisikan Method 



Cara mendefinisikan sebuah method akan dicontohkan dengan menggunakan masalah penjumlahan pecahan yang telah dibahas di blog sebelumnya.



Untuk mendeklarasikan method pertama dengan benar, kita perlu menjawab pertanyaan-pertanyaan di bawah ini terlebih dahulu. 

  1. Apa parameter yang dibutuhkan method ini dan apa tipe datanya ? 
  2. Apa keluaran dari method ini ?
  3. Apa access specifier-nya ?
  4. Bagaimana cara kerja method ini agar tujuan yang diinginkan tercapai ?

Setelah kita dapat menjawab pertanyaan-pertanyaa di atas, kita dapat mulai mengkodekan deklarasi method tersebut. Berikut ini adalah header dari method tersebut.




Variabel Lokal



Variabel dapat pula dideklarasikan dalam bagian body dari sebuah method. Variabel yang dideklarasikan di sana disebut sebagai variabel lokal (local variable). Lingkup dari variabel lokal hanyalah pada method di mana variabel tersebut dideklarasikan. Lingkup ini disebut juga sebagai scope. Parameter dari sebuah method juga termasuk dalam kategori variabel lokal. Sama seperti variabel lokal biasa, lingkup dari sebuah parameter adalah di dalam method tersebut saja.

Cobalah membuat variable local numResult dan denomResult yang bertipe integer pada method fracAddition.

Buatlah kelas Pecahan,yang memiliki method main ( kosongkan dulu ) dan fracAddition, kemudian lengkapi method body dari method fracAddition !


Menjalankan Method 



Untuk menjalankan method fracAddition, klik kanan pada kelas Pecahan dan pilih method yang ingin Anda jalankan (fracAddition). Anda akan diminta untuk mengisi parameter bagi pemanggilan method fracAddition ini. Isilah dengan angka 1, 2, 1, dan 4. 

Apa hasil yang ditampilkan pada terminal ?


Memanggil Method

Untuk memanggil method di main function, Anda perlu menuliskan nama method berikut nilai- nilai yang diperlukan untuk mengisi parameter-nya (disebut argument).. Berikut contoh pemanggilan method fracAddiction.



Pada kode pemanggilan di atas, parameter dari fracAddition diisi dengan nilai 1, 2, 1, dan 4.


Contoh Soal



Aplikasi Penyederhanaan Pecahan

Buatlah sebuah program untuk menyederhanakan pecahan! Input berupa dua buah bilangan bulat a > 0 dan b > 0 sebagai pembilang dan penyebut. Hint : buatlah method untuk mencari FPB. 

Spesifikasi Input 

Input berupa dua buah bilangan bulat a > 0 dan b > 0 sebagai pembilang dan penyebut, a mungkin faktor b, tapi bukan kelipatan b. 

Spesifikasi Output 

Hasil penyederhanaan pecahan berupa String dengan format 

<bilangan bulat, jika ada><spasi><pembilang>/<penyebut> 


Contoh Input 1 

28 8 

Contoh Output 1 

3 1/2 

Contoh Input 2 

4 8 

Contoh Output 2 

1/2 


Aplikasi Penambah dan Pengurang Otomatis



Buatlah sebuah program untuk menghitung penjumlahan atau pengurangan seluruh digit dalam sebuah bilangan bulat N. Operasi aritmatika yang dilakukan tergantung dari kode operator yang diinput. Kode -1 untuk pengurangan dan kode 1 untuk penjumlahan. Misalkan, N bernilai 1234 dan kode operator -1, maka program akan menghitung 1 – 2 – 3 – 4. Jika N bernilai 1234 dan kode operator 1, maka program akan menghitung 1 + 2 + 3 + 4. Hint: buatlah method addDigit untuk penjumlahan dan subDigit untuk pengurangan. 

Spesifikasi Input 

Input berupa dua buah bilangan bulat N dan op (-1 atau 1, asumsikan input selalu benar) sebagai bilangan input dan kode operator. 

Spesifikasi Output 

Hasil penjumlahan atau pengurangan setiap digit dalam N. 

Contoh Input 1 

4321 -1

Contoh Output 1 

-2 

Contoh Input 2 

4321 1 

Contoh Output 2 

10 


Deret dan Faktorial



Buatlah sebuah program untuk membuat sebuah deret! Program menerima input berupa sebuah bilangan bulat N dan sebuah char untuk kode deret. Jika kode deret yang diinput adalah ‘!’, maka program menampilkan deret faktorial dari 1! hingga N!. Jika kode deret yang diinput adalah ‘2’ maka program menampilkan deret bilangan dari 21 hingga 2N. Hint: buatlah method untuk menghitung perpangkatan 2 dari sebuah bilangan bulat dan method untuk menghitung faktorial dari sebuah bilangan bulat. 

Spesifikasi Input 

Input berupa dua buah bilangan bulat N dan op (-1 atau 1, asumsikan input selalu benar) sebagai bilangan input dan kode operator. 

Spesifikasi Output 

String yang merupakan isi dari deret bilangan sesuai kode deret ( dalam satu baris, dipisahkan spasi ). 

Contoh Input 1

5

!

Contoh Output 1

1 2 6 24 120

Contoh Input 2

5

2

Contoh Output 2

2 4 8 16 32


Wombat Warrior 


Belakangan ini ada satu permainan yang sedang digemari oleh anak-anak wombat, yaitu video game bernama Wombat Warrior. Game ini bertemakan seekor wombat warrior yang berperang melawan monster-monster. Ada dua skill yang dapat digunakan, yaitu Punch dan Kick. Punch menyerang sebesar 10% dari HP lawan saat ini, ditambah 20 point. Sedangkan Kick menyerang sebesar 20% dari Health Point (HP) lawan saat ini, ditambah 10 point. 

Sebagai contoh, misalnya monster awalnya memiliki HP sebesar 75 point. Mula-mula wombat warrior menyerang dengan Kick, maka besar serangan adalah (20% x 75) + 10 = 25 point. Sisa HP monster menjadi 50 point. Jika berikutnya diserang dengan Punch, maka besar serangannya adalah (10% x 50) + 20 = 25 point, dan sisa HP menjadi 25. Jika besar serangan melebihi HP monster, maka monster tersebut mati (HP = 0), dan tidak dapat diserang lagi. 

Buatlah method untuk menghitung besar serangan berdasarkan HP monster dan jenis skill yang digunakan. Gunakan method tersebut untuk membuat simulasi permainan sesuai spesifikasi masukan dan keluaran berikut ini.


Spesifikasi Masukan 

Masukan diawali dengan dua angka, yaitu HP monster mula-mula (0 ≤ HP ≤ 1000) dan banyak skill yang digunakan (0 ≤ N ≤ 50). Sebanyak N baris berikutnya, masing-masing berisi satu nama skill, yaitu “Kick” atau “Punch”. 


Spesifikasi Keluaran 

Untuk setiap skill yang berhasil digunakan (monster belum mati), keluarkan berapa besar serangan dan berapa sisa HP monster. Jika monster mati, tuliskan “lawan mati”. Perhatikan format pada contoh. 

Contoh Input 

75 5 

Kick 
Kick 
Punch 
Kick 
Punch 

Contoh Output 

Menyerang 25, sisa HP = 50. 
Menyerang 20, sisa HP = 30. 
Menyerang 23, sisa HP = 7. 
Menyerang 11, lawan mati. 

Note: skill terakhir tidak digunakan karena lawan sudah mati. 


ISBN 



International Standard Book Number (ISBN) adalah nomor regristrasi buku, biasanya dituliskan di sampul belakang. Ada dua jenis ISBN, yaitu yang memiliki 10 digit dan 13 digit. Ada cara mudah untuk memeriksa apakah sebuah nomor adalah ISBN yang valid. 

Untuk ISBN 10 digit, berilah nomor digit mulai dari paling kanan. Kemudian hitung nilai : 

1xdigit1 + 2xdigit2 + 3xdigit3 + 4xdigit4 + 5xdigit5 + 6xdigit6 + 7xdigit7 + 8xdigit8 + 9xdigit9 + 10xdigit10 

Jika nilai ini habis dibagi 11, maka nomor tersebut adalah ISBN yang valid. 

Sebagai contoh, nomor 0716703440, dihitung sebagai: 

1x0 + 2x4 + 3x4 + 4x3 + 5x0 + 6x7 + 7x6 +8x1 + 9x7 + 10x0 = 187 

187 mod 11 = 0, maka valid. 

Untuk ISBN 13 digit, berilah nomor digit mulai dari paling kanan. Kemudian kalikan semua digit ganjil dengan 1, kalikan semua digit genap dengan 3. Jumlahkan semuanya. Jika hasilnya habis dibagi 10, maka nomor tersebut adalah ISBN yang valid. 

Sebagai contoh, nomor 9780716703440, dihitung sebagai: 

1x0 + 3x4 + 1x4 + 3x3 + 1x0 + 3x7 + 1x6 + 3x1 + 1x7 + 3x0 + 1x8 + 3x7 + 1x9 = 100 

100 mod 10 = 0, maka valid. 

Buatlah dua buah method, masing-masing untuk memvalidasi ISBN 10 digit dan 13 digit. Masukan method berupa sebuah String. Kemudian buatlah program untuk memeriksa apakah sederetan ISBN pada input merupakan ISBN yang valid.

Spesifikasi Input 

Input diawali dengan sebuah bilangan N (1 ≤ N ≤ 100) yang menunjukkan banyaknya ISBN yang ingin diperiksa. N baris berikutnya masing-masing berisi sebuah ISBN (bisa 10 digit atau 13 digit). 

Spesifikasi Output 

Untuk masing-masing ISBN pada input, keluarkan tulisan “valid” atau “tidak valid”. 

Contoh Input 


0716703440 

9780716703440 

0716708840 

9745716703440 

Contoh Output 

valid 

valid 

tidak valid 

tidak valid 


Sumber

Modul Daspro : Methods

Tugas Pratikum : Methods

Post a Comment

Lebih baru Lebih lama