1. vɪˈdʒɛsɪməl
Masyarakat Suku Maya memiliki sistem penomoran dengan basis 20 atau lebih
dikenal sebagai Vigesimal. Vigesimal direpresentasikan oleh angka 0 - 9 dan
huruf A - J dimana A - J adalah 10 - 19.
Buatlah sebuah program dengan method sebagai berikut
-
char[] toVigesimal(int n): Mengkonversi bilangan berbasis 10 ke basis 20
| Input |
Ouptput |
| 20 |
10 |
| 10 |
A |
| 38 |
1I |
| 90 |
4A |
-
void table(): Mencetak table perkalian vigesimal dengan format berikut

Dimana setiap elemennya didapatkan dengan memanfaatkan method toVigesimal
Yang dicetak adalah 4 - I1, bagian luar (1 - J) hanya sebagai panduan
Pada dasarnya yang dicetak adalah table perkalian 2 - 19, namun setiap hasil
perkaliannya dikonversi ke vigesimal
2. BigInt
Tipe data integar pada bahasa pemrograman umumnya memiliki kapasitas 32-bit
signed atau 2^32 - 1 atau sebesar 2147483647, sehingga 2147483647 + 1 pada tipe
data integer akan menghasilkan hasil yang keliru berdasarkan aritmatika
penjumlahan.
Bahasa pemrograman Java menyediakan class java.math.BigInteger untuk
melakukan operasi aritmatika terhadap angka yang terlalu besar untuk tipe data
integer.
Buatlah sebuh program dengan method sebagai berikut
-
int[] add(int[] a, int[] b): Menjumlahkan 2 buah angka besar, dimana angka
tersebut direpresentasikan sebagai array e.g. 2147483647 direpresentasikan
sebagai {2, 1, 4, 7, 4, 8, 3, 6, 4, 7}.
Contoh:
-
add({2, 1, 4, 7, 4, 8, 3, 6, 4, 7}, {1})
mengembalikan {2, 1, 4, 7, 4, 8, 3, 6, 4, 8}
-
add({2, 1, 4, 7, 4, 8, 3, 6, 4, 7}, {2, 1, 4, 7, 4, 8, 3, 6, 4, 7})
mengembalikan {4, 2, 9, 4, 9, 6, 7, 2, 9, 4}
-
char[] humanFormat(int[] nums): Menkonversi array integer kedalam human
readable format yang dipisahkan oleh dot(.)
Contoh:
humanFormat({2, 1, 4, 7, 4, 8, 3, 6, 4, 8})
mengembalikan {'4', '.', '2', '9', '4', '.', '9', '6', '7', '.', '2', '9', '4'}
karena 4294967294 bisa diformat sebagai 4.294.967.294
-
char[] humanFormat(int[] nums, char sep): Sama seperti method sebelumnya,
hanya saja method ini bisa menspesifikkan separator yang digunakan
Contoh:
humanFormat({2, 1, 4, 7, 4, 8, 3, 6, 4, 8}, '_')
mengembalikan {'4', '_', '2', '9', '4', '_', '9', '6', '7', '_', '2', '9', '4'}
atau 4294967294 yang diformat sebagai 4_294_967_294
-
void print(int[] nums): Mencatak array integer kedalam format angka
Contoh:
print({1, 3, 4, 4}) mencetak 1344
-
void print(char[] c): Sama seperti method sebelumnya, hanya saja parameter
yang digunakan adalah char[]
Conotoh:
print({'4', '.', '2', '9', '4', '.', '9', '6', '7', '.', '2', '9', '4'})
mencetak 4.294.967.294
Program pada tugas ini hanya menggnakan tipe data primitif dan array primitif
Method pada Placeholder Code yang disediakan tidak dirubah return type,
method name, signature dan JavaDoc-nya, silakan lengkapi body method
dan mengganti return valuenya
Placeholder Code tidak menyediakan main method, silakan tambahkan main method untuk keperluan testing, kode yang dipush tidak mengandung main method
1. vɪˈdʒɛsɪməl
Masyarakat Suku Maya memiliki sistem penomoran dengan basis 20 atau lebih
dikenal sebagai Vigesimal. Vigesimal direpresentasikan oleh angka 0 - 9 dan
huruf A - J dimana A - J adalah 10 - 19.
Buatlah sebuah program dengan method sebagai berikut
char[] toVigesimal(int n): Mengkonversi bilangan berbasis 10 ke basis 20void table(): Mencetak table perkalian vigesimal dengan format berikutDimana setiap elemennya didapatkan dengan memanfaatkan method
toVigesimal2. BigInt
Tipe data integar pada bahasa pemrograman umumnya memiliki kapasitas 32-bit
signed atau 2^32 - 1 atau sebesar 2147483647, sehingga 2147483647 + 1 pada tipe
data integer akan menghasilkan hasil yang keliru berdasarkan aritmatika
penjumlahan.
Bahasa pemrograman Java menyediakan class
java.math.BigIntegeruntukmelakukan operasi aritmatika terhadap angka yang terlalu besar untuk tipe data
integer.
Buatlah sebuh program dengan method sebagai berikut
int[] add(int[] a, int[] b): Menjumlahkan 2 buah angka besar, dimana angkatersebut direpresentasikan sebagai array e.g. 2147483647 direpresentasikan
sebagai
{2, 1, 4, 7, 4, 8, 3, 6, 4, 7}.Contoh:
add({2, 1, 4, 7, 4, 8, 3, 6, 4, 7}, {1})mengembalikan
{2, 1, 4, 7, 4, 8, 3, 6, 4, 8}add({2, 1, 4, 7, 4, 8, 3, 6, 4, 7}, {2, 1, 4, 7, 4, 8, 3, 6, 4, 7})mengembalikan
{4, 2, 9, 4, 9, 6, 7, 2, 9, 4}char[] humanFormat(int[] nums): Menkonversi array integer kedalam humanreadable format yang dipisahkan oleh dot(.)
Contoh:
humanFormat({2, 1, 4, 7, 4, 8, 3, 6, 4, 8})mengembalikan
{'4', '.', '2', '9', '4', '.', '9', '6', '7', '.', '2', '9', '4'}karena 4294967294 bisa diformat sebagai 4.294.967.294
char[] humanFormat(int[] nums, char sep): Sama seperti method sebelumnya,hanya saja method ini bisa menspesifikkan separator yang digunakan
Contoh:
humanFormat({2, 1, 4, 7, 4, 8, 3, 6, 4, 8}, '_')mengembalikan
{'4', '_', '2', '9', '4', '_', '9', '6', '7', '_', '2', '9', '4'}atau 4294967294 yang diformat sebagai 4_294_967_294
void print(int[] nums): Mencatak array integer kedalam format angkaContoh:
print({1, 3, 4, 4})mencetak1344void print(char[] c): Sama seperti method sebelumnya, hanya saja parameteryang digunakan adalah
char[]Conotoh:
print({'4', '.', '2', '9', '4', '.', '9', '6', '7', '.', '2', '9', '4'})mencetak 4.294.967.294