✨Evaluasi Tengah Semester✨

Pemrograman Perangkat Bergerak B

Nama        : Rycahaya Sri Hutomo

NRP        : 5025201046

Kelas        : Pemrograman Perangkat Bergerak B

Tahun        : 2024

🔗Link Blog

https://rycahaya-ppb.blogspot.com/2024/05/evaluasi-tengah-semester-pemrograman.html 

📍Soal Pemrograman Perangkat Bergerak

  1. Apa keuntungan menggunakan platform mobile dibandingkan dengan web atau desktop untuk membangun aplikasi?
  2. Sebutkan perkembangan teknologi Mobile!
  3. Bukalah aplikasi Mobile Banking yang anda punya. Tuliskan dan jelaskan kegunaan fitur yang sering anda pakai.
  4. Redesign dari aplikasi sesuai dengan fitur yang sering dipakai
  5. Implementasikan dalam bentuk aplikasi android halaman masuk dan akses pin transaksi
  6. Dokumentasikan dan demokan dalam video youtube dari aplikasi yang telah dibangun.

📝Jawaban

  1. Keuntungan menggunakan platform mobile dibandingkan dengan web atau desktop untuk membangun aplikasi, yaitu:
  1. Pengguna dapat mengakses aplikasi mobile dimanapun dan kapanpun.
  2. Bagi beberapa aplikasi, pengguna juga dapat mengakses aplikasi ketika offline
  3. Aplikasi lebih intuitif dan mudah digunakan karena dirancang untuk dioperasikan menggunakan layar sentuh
  4. Aplikasi dapat dipersonalisasi sesuai pengguna dan dapat mengakses data yang disimpan perangkat, seperti kontak, lokasi, dan Riwayat penggunaan.
  5. Terdapat notifikasi push sebagai pengingat bagi pengguna.
  6. Aplikasi mobile dapat memiliki fitur yang lebih banyak dibandingkan dengan web maupun desktop, karena memiliki akses ke hardware perangkat mobile, seperti kamera, sensor, dan mikrofon.
  7. Aplikasi mobile dilindungi dengan fitur keamanan seperti pin, pola, dan sidik jari.

  1. Perkembangan teknologi mobile.

Perkembangan teknologi mobile telah jauh berkembang pesat sejak penemuan pertama di tahun 1917. Dari ponsel nirkabel besar dan berat, hingga smartphone modern yang tipis dan canggih dengan berbagai fitur. Android telah menjadi sistem operasi yang paling banyak digunakan untuk smartphone, dan terus berkembang dengan versi dan fitur baru.

  1. Era Ponsel Nirkabel Awal (1917 - 1973):
  1. 1917: Penemuan ponsel nirkabel pertama untuk kereta api.
  2. 1926: Layanan ponsel nirkabel khusus kereta api diluncurkan di Jerman.
  3. 1946: Mobile Telephone Service (MTS) diluncurkan di AS, dengan berat 36 kg.
  4. 1973: Martin Cooper dari Motorola menemukan ponsel genggam pertama.
  1. Era Ponsel Genggam Besar (1973 - 1980-an):
  1. 1973: Motorola DynaTAC 8000X diluncurkan, berat 1 kg, harga $3.900.
  2. 1981: Mobira Cityman 900 diluncurkan oleh Nokia, berat 760 gram.
  3. 1983: Motorola DynaTAC 8000X diluncurkan di AS.
  1. Era GSM dan Ponsel Layar Sentuh (1990-an):
  1. 1991: Teknologi GSM diluncurkan.
  2. 1994: Nokia 2010 diluncurkan, dengan keypad numerik dan huruf.
  3. 1994: Simon dari IBM dan Ericson diluncurkan, ponsel layar sentuh pertama.
  4. 1999: Nokia 9110 diluncurkan, ponsel dengan browser WAP pertama.
  1. Era Ponsel Kamera (Awal 2000-an):
  1. 2000: Ponsel kamera pertama diluncurkan di Jepang.
  2. 2002: Sanyo SCP-5300 diluncurkan di AS, kamera 0.3 MP.
  3. 2003: Sony Z1010 diluncurkan, dengan kamera depan.
  4. 2004: Motorola Razr diluncurkan, dengan desain tipis.
  1. Era iPhone dan Smartphone Modern (2007 - Sekarang):
  1. 2007: iPhone diluncurkan, dengan layar sentuh lebar dan internet.
  2. 2008: HTC G1 diluncurkan, ponsel Android pertama.
  3. 2010: Desain ponsel mulai seragam, layar sentuh dengan satu tombol.
  4. 2013: Sony Xperia Z diluncurkan, tahan air 1 meter selama 30 menit.
  5. 2014: HTC One M8 diluncurkan, dengan kamera belakang ganda.
  6. 2017: iPhone X diluncurkan, dengan pengenalan wajah (Face ID).
  7. 2019: Samsung Galaxy Z Flip dan Z Fold diluncurkan, ponsel lipat.

  1. Fitur aplikasi Mobile Banking yang sering saya pakai, yaitu transaksi berupa transfer. Fitur ini memudahkan pengguna untuk melakukan transaksi berupa transfer, yaitu mengirim uang ke rekening lain. Pengguna memasukkan nomor rekening yang dituju serta memasukkan nominal yang akan ditransfer. Selanjutnya, pengguna akan diminta memasukkan PIN.

  1. Redesign Aplikasi sesuai fitur yang sering dipakai.

  1. Implementasi dalam bentuk aplikasi android.

https://github.com/rycahayash/MobileBanking 

Langkah-langkah implementasi:

  1. Di Android Studio, klik File > New > New Project.
  2. Dalam dialog New Project, pilih Empty Activity, lalu klik Next.
  3. Di kolom Name, masukkan MobileBanking.
  4. Di kolom Minimum SDK, pilih level minimum 26 (Oreo) dari menu, lalu klik Finish.
  5. Buat file Kotlin ScreenA.kt
  1. Klik kanan pada folder com.example.mobilebanking, pilih New, pilih Kotlin Class/File.
  2. Beri nama “ScreenA” dan pilih File, kemudian tekan Enter pada keyboard.
  3. Buat fungsi Composable ScreenA
  1. Ulangi langkah e untuk membuat file Kotlin ScreenB.kt, ScreenC.kt, dan ScreenD.kt.
  2. Tambahkan dependensi di file Gradle Scripts > build.gradle.kts

val nav_version = "2.7.7"

implementation("androidx.navigation:navigation-compose:$nav_version")

  1. Di file MainActivity.kt, hapus fungsi composable yang sudah ada, serta hapus isi setContent {}.
  2. Di file MainActivity.kt, tambahkan kode berikut di dalam isi setContent {}

class MainActivity : ComponentActivity() {

   override fun onCreate(savedInstanceState: Bundle?) {

       super.onCreate(savedInstanceState)

       setContent {

           val navController = rememberNavController()

           NavHost(navController = navController, startDestination = Routes.screenA, builder ={

               composable(Routes.screenA){

                   ScreenA(navController)

               }

               composable(Routes.screenB){

                   ScreenB(navController)

               }

               composable(Routes.screenC){

                   ScreenC(navController)

               }

               composable(Routes.screenD){

                   ScreenD(navController)

               }

           })

       }

   }

}

  1. Buat object Routes untuk menyimpan variabel screen.

package com.example.mobilebanking

object Routes {

   var screenA = "Screen_A"

   var screenB = "Screen_B"

   var screenC = "Screen_C"

   var screenD = "Screen_D"

}

  1. Ubah warna pada file com.example.mobilebanking > ui.theme > Color.kt

package com.example.mobilebanking.ui.theme

import androidx.compose.ui.graphics.Color

val LightBlue1 = Color(0xFF8CC1F1)

val LightBlue2 = Color(0xFF79B0E3)

val DarkBlue1 = Color(0xFF367BF5)

val DarkBlue2 = Color(0xFF244AB3)

val Yellow1 = Color(0xFFF6CA5A)

val Yellow2 = Color(0xFFF4BA40)

val LightBlueBackground = Color(0xFFE3EDF8)

  1. Pada file ScreenA.kt:
  1. Pada fungsi Composable ScreenA, tambahkan parameter navController.
  2. Dalam fungsi Composable ScreenA, tambahkan variabel password, kemudian set sebagai remember mutableStateof().
  3. Buat Column, lalu tambahkan modifier fillMaxSize dan horizontalAlignment = Alignment.CenterHorizontally.
  4. Pada bagian body ScreenA, beri spacer dengan padding 28.dp.
  5. Buat composable Image untuk menampilkan gambar logo.
  6. Buat composable Text untuk menampilkan teks “Kata Sandi”
  7. Buat composable TextField sebagai input kata sandi oleh pengguna. Isi visualTransformation dengan PasswordVisualTransformation()
  8. Buat Composable Button onClick, tambahkan navigasi ke ScreenB dan teks “Login”.
  1. Pada file ScreenB.kt:
  1. Pada fungsi Composable ScreenB, tambahkan parameter navController.
  2. Dalam fungsi Composable ScreenB, tambahkan variabel accountNumber, bankName, expanded, bankList, dan amount. Kemudian, set sebagai remember mutableStateof().
  3. Buat Column, lalu tambahkan modifier fillMaxSize dan horizontalAlignment = Alignment.CenterHorizontally.
  4. Pada bagian body ScreenB, beri spacer dengan padding 28.dp.
  5. Buat composable Text untuk menampilkan teks “Transfer” dengan FontSize 32.sp dan FontWeight Bold.
  6. Buat composable Text untuk menampilkan teks “Nama Bank”
  7. Buat dropdown sebagai input nama bank oleh pengguna.
  8. Buat composable Text untuk menampilkan teks “Nomor Rekening”
  9. Buat composable TextField untuk mengisi nomor rekening yang dituju. Tambahkan KeyboardOption dengan isian KeyboardType.Number.
  10. Buat composable Text untuk menampilkan teks “Jumlah (Rp)”
  11. Buat composable TextField untuk mengisi jumlah uang yang akan ditransfer. Tambahkan KeyboardOption dengan isian KeyboardType.Number.
  12. Buat Composable Button onClick, tambahkan navigasi ke ScreenC dan teks “Lanjutkan”.
  1. Pada file ScreenC.kt:
  1. Pada fungsi Composable ScreenC, tambahkan parameter navController.
  2. Dalam fungsi Composable ScreenC, tambahkan variabel pin, kemudian set sebagai remember mutableStateof(TextFieldValue()).
  3. Buat Column, lalu tambahkan modifier fillMaxSize dan horizontalAlignment = Alignment.CenterHorizontally.
  4. Pada bagian body ScreenC, beri spacer dengan padding 120.dp.
  5. Buat composable Text untuk menampilkan teks “PIN ATM” dengan FontSize 32.sp dan FontWeight Bold.
  6. Buat composable TextField sebagai input pin ATM oleh pengguna. Isi visualTransformation dengan PasswordVisualTransformation()
  7. Buat Composable Button onClick, tambahkan navigasi ke ScreenD dan teks “Lanjutkan”.
  1. Pada file ScreenD.kt:
  1. Pada fungsi Composable ScreenD, tambahkan parameter navController.
  2. Buat Column, lalu tambahkan modifier fillMaxSize dan horizontalAlignment = Alignment.CenterHorizontally. Lalu tambahkan verticalArrangement dengan Arrangement.Center.
  3. Buat composable Text untuk menampilkan teks “Transfer Berhasil”
  4. Buat composable Image untuk menampilkan gambar centang.
  5. Buat Composable Button onClick, tambahkan navigasi ke ScreenA dan teks “Selesai”.

  1. Dokumentasi Youtube.

Mobile Banking App menggunakan Kotlin Android Studio

https://youtu.be/XFbkvXYgTy4