Documentation Index
Fetch the complete documentation index at: https://v1-learn.neoartd.my.id/llms.txt
Use this file to discover all available pages before exploring further.
Soal 1 - Modified fibonacci Sequence
Diketahui sebuah barisan fibonacci yang dimodifikasi sebagai berikut: 1,1,3,5,9,15,25,41,...dimana
- f(n)=f(n−1)+f(n−2)+1
- f(1)=1
- f(2)=2
Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat positif n. Program selanjutnya menampilkan n suku pertama dari barisan tersebut.Simpan program tersebut dalam sebuah file dengan nama OddFibonacci023.java (nama class = OddFibonacci023) import java.util.Scanner;
public class OddFibonacci023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
for (int i = 1; i <= n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
public static int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2) + 1;
}
}
}
Soal 2 - Largest Prime Factor
Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat postitif n. Program selanjutnya menampilkan faktor prima terbesar dari n.Simpan program tersebut dalam sebuah file dengan nama LargestPrimeFactor023.java (nama class = LargestPrimeFactor023) LargestPrimeFactor023.java
import java.util.Scanner;
public class LargestPrimeFactor023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
factor(n);
}
public static void factor(int n) {
int max = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0 && isPrime(i)) {
max = Math.max(max, i);
}
}
System.out.println("Faktor prima terbesar dari " + n + " adalah " + max);
}
public static boolean isPrime(int n) {
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
Soal 3 - Menabung
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)import java.util.Scanner;
public class Tabungan023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nama barang yang ingin dibeli: ");
String barang = input.nextLine();
System.out.print("Masukkan harga barang: ");
int harga = input.nextInt();
int total = 0;
int hari = 0;
while (total < harga) {
System.out.print("Masukkan uang yang ditabung hari ini: ");
int tabungan = input.nextInt();
total += tabungan;
hari++;
}
System.out.println("Total tabungan: " + total);
System.out.println("Hari yang dibutuhkan: " + hari);
}
}
Soal 4 - Persegi Nama
Question
Answer
Answer Array
Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat positif n. Program selanjutnya menampilkan pola persegi dengan menggunakan karakter-karakter dari string nuha seperti contoh berikut:| Input (n) | Output |
|---|
| 1 | n |
| 2 | n u h a |
| 3 | n u h a n u h a n |
| 5 | 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 |
| 10 | 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 n u h a |
Simpan program tersebut dalam sebuah file dengan nama PersegiNama023.java (nama class = PersegiNama023)import java.util.Scanner;
public class PersegiNama023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
String nama = "nuha";
int index = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(nama.charAt(line % 4) + " ");
}
System.out.println();
}
}
}
import java.util.Scanner;
public class PersegiNama023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
String[] nama = {"n", "u", "h", "a"};
int index = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(nama[index] + " ");
index = (index + 1) % 4;
}
System.out.println();
}
}
}
Soal 5 - Segitiga Nama
Question
Answer
Answer Array
Buatlah sebuah program yang meminta input berupa satu buah bilangan bulat positif n. Program selanjutnya menampilkan pola segitiga dengan menggunakan karakter-karakter dari string nuha seperti contoh berikut:| Input (n) | Output |
|---|
| 1 | n |
| 2 | n n u |
| 3 | n n u n u h |
| 5 | n n u n u h n u h a n u h a n |
| 10 | n 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)import java.util.Scanner;
public class SegitigaNama023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
String nama = "nuha";
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(nama.charAt(j % 4) + " ");
}
System.out.println();
}
}
}
import java.util.Scanner;
public class SegitigaNama023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
String[] nama = {"n", "u", "h", "a"};
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(nama[j % 4] + " ");
}
System.out.println();
}
}
}
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 n, banyak bilangan yang akan dimasukkan. Kemudian, program meminta pengguna untuk memasukkan n 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) import java.util.Scanner;
public class UniqueElement023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai n: ");
int n = input.nextInt();
int[] data = new int[n];
for (int i = 0; i < n; i++) {
System.out.print("Masukkan bilangan ke-" + (i + 1) + ": ");
data[i] = input.nextInt();
System.out.println();
}
uniqueElement(data);
}
public static void uniqueElement(int[] data) {
for (int i = 0; i < data.length; i++) {
boolean unique = true;
for (int j = 0; j < data.length; j++) {
if (i != j && data[i] == data[j]) {
unique = false;
break;
}
}
if (unique) {
System.out.println("Bilangan unik: " + data[i]);
}
}
}
}
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) KalkulatorBanyakHari023.java
import java.util.Scanner;
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));
}
public static int banyakHari(int tahun, int bulan) {
int hari = 0;
switch (bulan) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
hari = 31;
break;
case 4:
case 6:
case 9:
case 11:
hari = 30;
break;
case 2:
if (tahun % 4 == 0 && (tahun % 100 != 0 || tahun % 400 == 0)) {
hari = 29;
} else {
hari = 28;
}
break;
}
return hari;
}
}
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)
public class Delapan023 {
public static void main(String[] args) {
for (int i = 1; i <= 1_000_000_000; i++) {
if (faktor(i) == 8) {
System.out.println(i);
}
}
}
public static int faktor(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
}
}
return count;
}
}
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) 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
}
public static boolean validate(int[][] square) {
int n = square.length;
int sum = 0;
for (int i = 0; i < n; i++) {
sum += square[0][i];
}
for (int i = 1; i < n; i++) {
int temp = 0;
for (int j = 0; j < n; j++) {
temp += square[i][j];
}
if (temp != sum) {
return false;
}
}
for (int i = 0; i < n; i++) {
int temp = 0;
for (int j = 0; j < n; j++) {
temp += square[j][i];
}
if (temp != sum) {
return false;
}
}
int temp = 0;
for (int i = 0; i < n; i++) {
temp += square[i][i];
}
if (temp != sum) {
return false;
}
temp = 0;
for (int i = 0; i < n; i++) {
temp += square[i][n - i - 1];
}
if (temp != sum) {
return false;
}
return true;
}
}
Soal 10 - Teman yang Sama
Ani memiliki m orang teman, sedangkan Budi memiliki n orang teman.Carilah teman Ani yang juga merupakan teman Budi.Buatlah sebuah program yang meminta input sebagai berikut:
- banyak teman Ani (m)
- nama masing-masing teman Ani (m nama berbeda)
- banyak teman Budi (n)
- nama masing-masing teman Budi (n 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 Ani | Nama Teman Ani | Banyak Teman Budi | Nama Teman Budi | Teman Ani yang juga Teman Budi |
|---|
| 1 | Deni | 1 | Chandra | Ani dan Budi tidak memiliki teman yang sama |
| 2 | Chandra Deni | 3 | Chandra Deni Edi | Chandra Deni |
| 3 | Chandra Deni Edi | 2 | Chandra Edi | Chandra Edi |
Simpan program tersebut dalam sebuah file dengan nama Teman023.java (nama class = Teman023)import java.util.Scanner;
public class Teman023 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan banyak teman Ani: ");
int m = input.nextInt();
String[] temanAni = new String[m];
for (int i = 0; i < m; i++) {
System.out.print("Masukkan nama teman Ani ke-" + (i + 1) + ": ");
temanAni[i] = input.next();
}
System.out.print("Masukkan banyak teman Budi: ");
int n = input.nextInt();
String[] temanBudi = new String[n];
for (int i = 0; i < n; i++) {
System.out.print("Masukkan nama teman Budi ke-" + (i + 1) + ": ");
temanBudi[i] = input.next();
}
boolean sama = false;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (temanAni[i].equals(temanBudi[j])) {
System.out.println(temanAni[i]);
sama = true;
}
}
}
if (!sama) {
System.out.println("Ani dan Budi tidak memiliki teman yang sama");
}
}
}