Anda di halaman 1dari 5

1.

Kapan sebaiknya kalian menggunakan Fragment dan kapan akan menggunakan Activity
Jawaban : Praktik terbaiknya adalah hanya menggunakan Activity saat kalian perlu
menukar keseluruhan layar atau keseluruhan halaman, lalu mengunakan Fragment pada
Activity tersebut, artinya Fragment tidak akan bisa berdiri sendiri tanpa adanya minimal
satu Activity dengan kata lain Fragment adalah Sub-Activity.

2. Bagaimana mencegah “Reverse Engineering” pada Aplikasi Mobile yang kita bangun ?
Jawaban :
1. ProGuard
ProGuard akan membuat fungsi-fungsi dalam source code menyusut (Shrink),
mengoptimalkan (Optimization), mengacak kode yang ditulis. (Obfuscation).

2 . Menggunakan Algoritma Hashing


Melakukan enkripsi terhadap data yang penting.

3. Kapan sebaiknya kalian menggunakan Shared Preferences  dan kapan akan menggunakan
SQLite Database pada Android
Jawaban : Untuk data yang disimpan lebih sedikit sebaiknya menggunakan Shared
Preferences, misalnya data user login. Sedangkan untuk simpan data yang lebih besar
atau lebih banyak sebaiknya menggunakan SQLite Database.

4. Saat kamu bekerja sebagai Android Developer, dan akan menerima sebuah “warisan”
berupa kode program yang telah di tulis oleh developer sebelumnya. Bagaimana cara kita
memahami kode tersebut,sedangkan developer yang membuatnya sudah tidak bekerja
lagi di perusahaan tersebut ?. Apa solusi yang bisa kamu terapkan untuk meminimalkan
kasus seperti ini
Jawaban : Menerapkan penggunaan Design Pattern. Design pattern , ibarat sebuah
konsep  atau template.

5. Coba lakukan penyimpanan data pribadi berupa nama, jenis kelamin, usia dan alamat
dengan menggunakan SQLite Database pada Android
Jawaban : Akan ada satu table Database dan ada empat field
Sintax simpan ke database

DataDB db = new DataDB(this);


String sql = "";
sql = "INSERT INTO dt (nama , jenis_kelamin , usia, alamat) " +
"VALUES ('" + nama + "','" + jenikKelamin + "','" + usia +
"','" + alamat + "')";
db.ExecuteSQL(sql);
db.close();
6. Buatlah sebuah fungsi yang jika di inputkan nilai 1000 akan otomatis menjadi format
rupiah pada Android
Contoh : input value 1000 => 1.000
input value 100000 => 1.00.000

Jawaban :
public String currencyRupiahFormat(String nums) {
String temp = nums.replaceAll("\\.", "");

if (temp.length() <= 3) {
return temp;
} else {
return currencyRupiahFormat(temp.substring(0,temp.length() - 3))
+ "." + currencyRupiahFormat(temp.substring(temp.length() -3));
}
}

7. Buatlah program dengan bahasa java untuk menampilkan deret bilangan dari 1 s.d 100
dengan ketentuan sebagai berikut:
a.Jika bilangan tersebut merupakan angka genap maka output yang ditampilkan
adalah angka dari bilangan tersebut.
b.Jika bilangan tersebut merupakan angka ganjil maka output yang ditampilkan adalah
kata “android”
c. Jika bilangan tersebut merupakan angkayang dapat dibagi 2 dan dapat dibagi 3 maka
output yang ditampilkan adalah kata “java”
Contoh Output yang diharapkan:
1 java 3 java 5 java 7 java 9 java …...97 java 99 java

Jawaban :
public static void main(String[] args) {
for(int i =1; i <= 100; i++){
if (i % 2 == 0 && i % 3 == 0) {
System.out.println("java");
}else if (i % 2 == 0) {
System.out.println(i);
}else{
System.out.println(“android”);
}
}
}

8. Diberikan sebuah string str. Hitung jumlah kata dari string tersebut
Input string : “Aku adalah seorang developer Android yang handal sedang melakukan
perjalanan ditengah laut Indonesia, bertemu dengan teman lama dari Sumatera keturunan
India”.
Jawaban :
int jumlahKata = 0;
int i = 0;
while (i < data.length()) {
while (i < data.length() && data.charAt(i) == ' ') i++;

if (i < data.length() && data.charAt(i) != ' ') {


jumlahKata++;
while (i < data.length() && data.charAt(i) != ' ') i++;
}
}
System.out.println("\nJumlah Kata : " + jumlahKata + " buah");
Output = Jumlah Kata : 21 buah

9. Diberikan sebuah string str. Hitung jumlah huruf, angka dan spasi dari string tersebut
Input string : “Aku adalah seorang developer Android level 1530”.
Output :
Jumlah Spasi ada sebanyak 6 buah
Jumlah angka 0 ada sebanyak 1 buah
Jumlah angka 1 ada sebanyak 1 buah
Jumlah angka 3 ada sebanyak 1 buah
Jumlah angka 5 ada sebanyak 1 buah
Jumlah huruf a ada sebanyak 6 buah
Jumlah huruf d ada sebanyak 4 buah
Jumlah huruf e ada sebanyak 6 buah
Jumlah huruf g ada sebanyak 1 buah
Jumlah huruf h ada sebanyak 1 buah
Jumlah huruf i ada sebanyak 1 buah
Jumlah huruf k ada sebanyak 1 buah
Jumlah huruf l ada sebanyak 4 buah
Jumlah huruf n ada sebanyak 2 buah
Jumlah huruf o ada sebanyak 3 buah
Jumlah huruf p ada sebanyak 1 buah
Jumlah huruf r ada sebanyak 3 buah
Jumlah huruf s ada sebanyak 1 buah
Jumlah huruf u ada sebanyak 1 buah
Jumlah huruf v ada sebanyak 2 buah

Jawaban :
String kata = "Aku adalah seorang developer Android level 1530";
kata = kata.toLowerCase();

for (int i=0; i<JUMLAH_KARAKTER; i++) {


total_per_karakter[i] = 0;
}
int kata_len = kata.length();
for (int i=0; i<kata_len; i++) {
total_per_karakter[(int )kata.charAt(i)]++;
}
System.out.println();
for (int i=0; i<JUMLAH_KARAKTER; i++) {
if (total_per_karakter[i] > 0) {
if (((char)i >= 'a' && (char)i <= 'z')) {
System.out.println("Jumlah huruf " + (char) i + "
ada sebanyak " + total_per_karakter[i] + " buah");
} else if ((char)i >= '0' && (char)i <= '9') {
System.out.println("Jumlah angka " + (char) i + "
ada sebanyak " + total_per_karakter[i] + " buah");
} else if ((char) i == ' ') {
System.out.println("Jumlah Spasi ada sebanyak " +
total_per_karakter[i] + " buah");
} else {
System.out.println("Jumlah karakter " + (char) i + "
ada sebanyak " + total_per_karakter[i] + " buah");
}
}
}

10. Buatkan program yang akan menampilkan Output berikut


Nama : Iwan
Usia : 25 tahun
Alamat : Medan

Nama : John
Usia : 34 tahun
Alamat : Pekan Baru

Nama : Budiman
Usia : 29 tahun
Alamat : Batam

Jawaban :
class User {
private String name;
private int age;
private String address;

public User(String name, int age, String address) {


this.name = name;
this.age = age;
this.address = address;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}

public int getAge() {


return age;
}
public void setAge(int age) {
this.age = age;
}

public String getAddress() {


return address;
}

public void setAdress(String address) {


this.address = address;
}
}

public class latihan {


public static void main(String[] args) {
List<User> users = new ArrayList<>();
users.add(new User("Iwan", 25, "Medan"));
users.add(new User("John", 34,"Pekan Baru"));
users.add(new User("Budiman", 29," Batam"));

users.forEach(user -> {
System.out.println("Nama : " + user.getName() + "\nUsia : "
+ user.getAge() +" tahun"+"\nAlamat : "+user.getAddress());
System.out.println("");
});

Anda mungkin juga menyukai