Skip to main content

Soal 1 - Modified fibonacci Sequence

Diketahui sebuah barisan fibonacci yang dimodifikasi sebagai berikut:          1,1,3,5,9,15,25,41,...~~~~~~~~~~1, 1, 3, 5, 9, 15, 25, 41, ...dimana
  • f(n)=f(n1)+f(n2)+1f(n) = f(n-1)+f(n-2)+1
  • f(1)=1f(1) = 1
  • f(2)=2f(2) = 2
Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat positif nn. Program selanjutnya menampilkan nn suku pertama dari barisan tersebut.Simpan program tersebut dalam sebuah file dengan nama OddFibonacci023.java (nama class = OddFibonacci023)

Soal 2 - Largest Prime Factor

Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat postitif nn. Program selanjutnya menampilkan faktor prima terbesar dari nn.Simpan program tersebut dalam sebuah file dengan nama LargestPrimeFactor023.java (nama class = LargestPrimeFactor023)

Soal 3 - Menabung

Soal 3 Budi ingin membeli barang diinginkannya, hanya saja uangnya tidak cukup. Untuk itu, dia mencoba menabung satiap hari hingga uangnya cukup untuk membeli barang tersebut. Bantulah Budi dalam merekap dan mengingatkan saat uangnya sudah cukup untuk membeli barang yang diinginkannya.Buatlah sebuah program untuk membantu Budi.Program pertama-tama menanyakan barang apa yang Budi inginkan beserta harganya. Setelah itu, program secara berulang meminta Budi untuk memasukkan berapa uang yang ditabungnya pada hari tersebut (anggap 1 kali menabung/hari). Input berhenti saat uang Budi sudah cukup untuk membeli barang yang diinginkannya. Setelah itu program menampilkan berapa total tabungan Budi dan berapa hari waktu yang dibutuhkan Budi untuk menabung hingga tabungannya cukup untuk membeli barang impiannya.Simpan program tersebut dalam sebuah file dengan nama Tabungan023.java (nama class = Tabungan023)

Soal 4 - Persegi Nama

Soal 4 Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat positif nn. Program selanjutnya menampilkan pola persegi dengan menggunakan karakter-karakter dari string nuha seperti contoh berikut:
Input (n)Output
1n
2n u
h a
3n u h
a n u
h a n
5n u h a n
u h a n u
h a n u h
a n u h a
n u h a n
10n u h a n u h a n u
h a n u h a n u h a
n u h a n u h a n u
h a n u h a n u h a
n u h a n u h a n u
h a n u h a n u h a
n u h a n u h a n u
h a n u h a n u h a
n u h a n u h a n u
h a n u h a n u h a
Simpan program tersebut dalam sebuah file dengan nama PersegiNama023.java (nama class = PersegiNama023)

Soal 5 - Segitiga Nama

Soal 5 Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat positif nn. Program selanjutnya menampilkan pola segitiga dengan menggunakan karakter-karakter dari string nuha seperti contoh berikut:
Input (n)Output
1n
2n
n u
3n
n u
n u h
5n
n u
n u h
n u h a
n u h a n
10n
n u
n u h
n u h a
n u h a n
n u h a n u
n u h a n u h
n u h a n u h a
n u h a n u h a n
n u h a n u h a n u
Simpan program tersebut dalam sebuah file dengan nama SegitigaNama023.java (nama class = SegitigaNama023)

Soal 6 - Unique Elements

Buatlah sebuah program yang menampilkan elemen-elemen unik dari daftar bilangan yang dimasukkan oleh pengguna. Program pertama-tama meminta pengguna untuk memasukkan nn, banyak bilangan yang akan dimasukkan. Kemudian, program meminta pengguna untuk memasukkan nn buah bilangan bulat. Setelah itu, program menampilkan elemen-elemen unik dari daftar bilangan tersebut. Elemen-elemen unik adalah bilangan-bilangan yang hanya muncul sekali dalam daftar bilangan tersebut.Simpan program tersebut dalam sebuah file dengan nama UniqueElement023.java (nama class = UniqueElement023)

Soal 7 - Banyak Hari

Diberikan potongan kode program berikut:
KalkulatorBanyakHari023.java
public class KalkulatorBanyakHari023 {
	public static void main(String[] args) {
		System.out.println("Banyak hari pada bulan Februari 2024 adalah: " + banyakHari(2024, 2));
		System.out.println("Banyak hari pada bulan Februari 2025 adalah: " + banyakHari(2025, 2));
		System.out.println("Banyak hari pada bulan Maret 2024 adalah: " + banyakHari(2024, 3));
		System.out.println("Banyak hari pada bulan Juni 2024 adalah: " + banyakHari(2024, 6));
	}
}
Kode di atas belum lengkap sehingga tidak dapat dicompile dan dijalankan.Implementasikan method yang dibutuhkan untuk memperbaiki kode program di atas. Anda TIDAK DIPERBOLEHKAN mengubah isi dari method main.Simpan program tersebut dalam sebuah file dengan nama KalkulatorBanyakHari023.java (nama class = KalkulatorBanyakHari023)

Soal 8 - 8

Faktor-faktor dari 24 ada 8, yaitu 1, 2, 3, 4, 6, 8, 12, 24. Bilangan lain yang banyak faktornya 8 antara lain 30, 40, 42, …Buat sebuah program untuk menampilkan semua bilangan antara 1 sampai 1.000.000.000 yang banyak faktornya 8.Simpan program tersebut dalam sebuah file dengan nama Delapan023.java (nama class = Delapan023)

Soal 9 - Magic Square Validator

Magic Square adalah sebuah matriks persegi yang isinya bilangan bulat positif tanpa ada bilangan yang sama. Bilangan-bilangan tersebut harus memenuhi syarat bahwa jumlah bilangan pada setiap baris, kolom, dan diagonal harus sama.Diberikan potongan kode program berikut:
MagicSquareValidator023.java
public class MagicSquareValidator023 {
	public static void main(String[] args) {
		int[][] square1 = {
			{4, 9, 2},
			{3, 5, 7},
			{8, 1, 6}
		};

		int[][] square2 = {
			{4, 9, 2},
			{3, 5, 6},
			{8, 1, 7}
		};

		int[][] square3 = {
			{8, 11, 14, 1},
			{13, 2, 7, 12},
			{3, 16, 9, 6},
			{10, 5, 4, 15}
		};

		System.out.println("Is square1 a valid magic square? " + validate(square1)); // should be true
		System.out.println("Is square2 a valid magic square? " + validate(square2)); // should be false
		System.out.println("Is square3 a valid magic square? " + validate(square3)); // should be true
	}
}
Simpan program tersebut dalam sebuah file dengan nama MagicSquareValidator023.java (nama class = MagicSquareValidator023)

Soal 10 - Teman yang Sama

Soal 10Ani memiliki mm orang teman, sedangkan Budi memiliki nn orang teman.Carilah teman Ani yang juga merupakan teman Budi.Buatlah sebuah program yang meminta input sebagai berikut:
  • banyak teman Ani (mm)
  • nama masing-masing teman Ani (mm nama berbeda)
  • banyak teman Budi (nn)
  • nama masing-masing teman Budi (nn nama berbeda)
Program selanjutnya menampilkan nama-nama teman Ani yang juga merupakan teman dari Budi. Jika tidak ada, program menampilkan pesan bahwa Ani dan Budi tidak memiliki teman yang sama.Contoh Input/Output
Banyak Teman AniNama Teman AniBanyak Teman BudiNama Teman BudiTeman Ani yang juga Teman Budi
1Deni1ChandraAni dan Budi tidak memiliki teman yang sama
2Chandra
Deni
3Chandra
Deni
Edi
Chandra
Deni
3Chandra
Deni
Edi
2Chandra
Edi
Chandra
Edi
Simpan program tersebut dalam sebuah file dengan nama Teman023.java (nama class = Teman023)