Minggu, 26 Agustus 2018

Dasar-Dasar Pemrograman : Methods Dan Pola Soal

Dasar-dasar Pemrograman : Methods dan Contoh Soal



Method 

Method ialah sekumpulan isyarat yang mempunyai 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 dihukum pada dikala method tersebut dipanggil Bentuk umum dari pendefinisian sebuah method sanggup dilihat pada ilustrasi di bawah ini.


Keterangan

  • AccessSpecifier: Pada tahapan mencar ilmu Anda dikala ini, tiap method yang Anda buat akan mempunyai access specifier public static. 
  • tipeNilaiKembalian: Bagian ini memilih tipe dari data yang dikembalikan oleh method. Anda sanggup memakai seluruh tipe data, atau keyword “void” untuk bab ini. Keyword “void” mempunyai arti bahwa method tersebut tidak mengembalikan nilai apapun. 
  • namaMethod: Nama dari method. Penamaan method pada Java memakai konvensi yang sama dengan cara penamaan variabel. 
  • tipeData: Sama menyerupai tipe data pada deklarasi variable. 
  • namaParameter: Nama variabel untuk parameter tersebut.

Mendefinisikan Method 



Cara mendefinisikan sebuah method akan dicontohkan dengan memakai problem 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 semoga tujuan yang diinginkan tercapai ?

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




Variabel Lokal



Variabel sanggup pula dideklarasikan dalam bab 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 menyerupai variabel lokal biasa, lingkup dari sebuah parameter ialah di dalam method tersebut saja.

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

Buatlah kelas Pecahan,yang mempunyai 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 dibutuhkan untuk mengisi parameter-nya (disebut argument).. Berikut pola 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 agenda untuk menyederhanakan pecahan! Input berupa dua buah bilangan lingkaran a > 0 dan b > 0 sebagai pembilang dan penyebut. Hint : buatlah method untuk mencari FPB. 

Spesifikasi Input 

Input berupa dua buah bilangan lingkaran 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, kalau 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 agenda untuk menghitung penjumlahan atau pengurangan seluruh digit dalam sebuah bilangan lingkaran 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 agenda akan menghitung 1 – 2 – 3 – 4. Jika N bernilai 1234 dan kode operator 1, maka agenda akan menghitung 1 + 2 + 3 + 4. Hint: buatlah method addDigit untuk penjumlahan dan subDigit untuk pengurangan. 

Spesifikasi Input 

Input berupa dua buah bilangan lingkaran 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 agenda untuk menciptakan sebuah deret! Program mendapatkan input berupa sebuah bilangan lingkaran N dan sebuah char untuk kode deret. Jika kode deret yang diinput ialah ‘!’, maka agenda menampilkan deret faktorial dari 1! sampai N!. Jika kode deret yang diinput ialah ‘2’ maka agenda menampilkan deret bilangan dari 21 sampai 2N. Hint: buatlah method untuk menghitung perpangkatan 2 dari sebuah bilangan lingkaran dan method untuk menghitung faktorial dari sebuah bilangan bulat. 

Spesifikasi Input 

Input berupa dua buah bilangan lingkaran 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 belum dewasa wombat, yaitu video game berjulukan Wombat Warrior. Game ini bertemakan seekor wombat warrior yang berperang melawan monster-monster. Ada dua skill yang sanggup digunakan, yaitu Punch dan Kick. Punch menyerang sebesar 10% dari HP lawan dikala ini, ditambah 20 point. Sedangkan Kick menyerang sebesar 20% dari Health Point (HP) lawan dikala ini, ditambah 10 point. 

Sebagai contoh, contohnya monster awalnya mempunyai HP sebesar 75 point. Mula-mula wombat warrior menyerang dengan Kick, maka besar serangan ialah (20% x 75) + 10 = 25 point. Sisa HP monster menjadi 50 point. Jika berikutnya diserang dengan Punch, maka besar serangannya ialah (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 sanggup diserang lagi. 

Buatlah method untuk menghitung besar serangan menurut HP monster dan jenis skill yang digunakan. Gunakan method tersebut untuk menciptakan 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 dipakai (0 ≤ N ≤ 50). Sebanyak N baris berikutnya, masing-masing berisi satu nama skill, yaitu “Kick” atau “Punch”. 


Spesifikasi Keluaran 

Untuk setiap skill yang berhasil dipakai (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 dipakai alasannya ialah lawan sudah mati. 


ISBN 



International Standard Book Number (ISBN) ialah nomor regristrasi buku, biasanya dituliskan di sampul belakang. Ada dua jenis ISBN, yaitu yang mempunyai 10 digit dan 13 digit. Ada cara gampang untuk mengusut apakah sebuah nomor ialah 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 ialah 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 alhasil habis dibagi 10, maka nomor tersebut ialah 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 agenda untuk mengusut apakah sederetan ISBN pada input merupakan ISBN yang valid.

Spesifikasi Input 

Input diawali dengan sebuah bilangan N (1 ≤ N ≤ 100) yang menawarkan 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 goresan pena “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


Sumber http://wikiwoh.blogspot.com


EmoticonEmoticon