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.
- Apa parameter yang dibutuhkan method ini dan apa tipe datanya ?
- Apa keluaran dari method ini ?
- Apa access specifier-nya ?
- 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
4
0716703440
9780716703440
0716708840
9745716703440
Contoh Output
valid
valid
tidak valid
tidak valid
Sumber
Modul Daspro : Methods
Tugas Pratikum : Methods
EmoticonEmoticon