ETS PPB F

 

 Evaluasi Tengah Semester

Nama    : Syaiful Bahri Dirgantara

NRP      : 5025201203

Kelas    : PPB F

1. Apa keuntungan menggunakan platform mobile Android dibandingkan dengan platform Propietary seperti Apple?

Terdapat beberapa keuntungan antara Android dibandingkan dengan propietary lain seperti Apple (iOS) baik dari sudut pandang pengguna maupun developer, antara lain sebagai berikut.

Biaya dan Aksesibilitas

-            Harga Perangkat: Ada berbagai perangkat Android yang tersedia dengan berbagai rentang harga, dari entry-level hingga flagship, membuatnya lebih terjangkau bagi berbagai kalangan.

-            Aplikasi Gratis: Google Play Store menawarkan lebih banyak aplikasi gratis dibandingkan App Store, meskipun ini tergantung pada model bisnis dan strategi pengembang aplikasi.

Kustomisasi dan Fleksibilitas

-            Kustomisasi: Android memberikan pengguna kebebasan yang lebih besar untuk menyesuaikan tampilan dan fungsi perangkat mereka. Pengguna dapat mengubah ikon, tema, launcher, dan bahkan mengganti ROM jika mereka memiliki pengetahuan teknis yang cukup.

-            Pilihan Perangkat: Android tersedia di berbagai perangkat dari berbagai produsen, seperti Samsung, Google, OnePlus, dan lain-lain, memberikan konsumen lebih banyak pilihan sesuai dengan kebutuhan dan anggaran mereka.

Kompatibilitas dengan Perangkat Keras dan Aksesori

-            Kompatibilitas Universal: Android umumnya lebih kompatibel dengan berbagai perangkat keras dan aksesori dari berbagai produsen tanpa perlu adaptasi khusus.

-            Pilihan Penyimpanan Eksternal: Banyak perangkat Android yang mendukung penggunaan kartu microSD untuk memperluas kapasitas penyimpanan, yang tidak tersedia pada perangkat Apple.

Fitur dan Teknologi Terkini

-            Dukungan untuk Berbagai Teknologi Baru: Android sering kali lebih cepat dalam mengadopsi teknologi baru, seperti 5G, NFC, dan pemindai sidik jari di layar, yang mungkin memerlukan waktu lebih lama untuk diimplementasikan di perangkat iOS.

-            Multitasking: Android menawarkan multitasking yang lebih fleksibel dan dukungan untuk tampilan multi-window, yang memungkinkan pengguna menjalankan beberapa aplikasi secara bersamaan dengan lebih mudah.

Ekosistem Terbuka

-            Open Source: Android adalah sistem operasi open source yang memungkinkan pengembang dan perusahaan untuk menyesuaikan dan mengembangkan perangkat lunak sesuai kebutuhan mereka tanpa banyak pembatasan.

-            Akses ke Aplikasi dari Sumber Luar: Pengguna Android dapat mengunduh aplikasi dari sumber luar selain Google Play Store, seperti dari Amazon Appstore atau langsung dari situs pengembang.

Pengembangan Aplikasi

-            Lingkungan Pengembangan yang Fleksibel: Android menyediakan lingkungan pengembangan yang fleksibel dan banyak alat gratis yang mendukung berbagai bahasa pemrograman, seperti Java, Kotlin, dan C++.

-            Penyebaran Aplikasi: Pengembang memiliki lebih banyak kebebasan untuk mendistribusikan aplikasi mereka dan dapat memilih berbagai metode distribusi, tidak terbatas pada satu platform distribusi.

 

2. Sebutkan perkembangan teknologi Pemrograman Mobile!

1. Era Awal Perangkat Mobile (1973 - 1990-an)

  • 1973: Motorola memperkenalkan prototipe ponsel pertama, Motorola DynaTAC, yang memulai era komunikasi seluler.
  • 1983: Motorola DynaTAC 8000X menjadi ponsel komersial pertama yang tersedia untuk publik. Ponsel ini menggunakan jaringan analog 1G.

2. Generasi Kedua dan Kemunculan SMS (1990-an)

  • 1991: Peluncuran jaringan 2G (GSM) di Finlandia oleh Radiolinja, yang memungkinkan komunikasi digital dan layanan pesan teks (SMS).
  • 1992: Pengiriman SMS pertama dilakukan. Nokia dan Motorola menjadi produsen ponsel terkemuka.

3. Awal Internet Mobile dan 3G (1990-an - awal 2000-an)

  • 1996: Nokia 9000 Communicator diluncurkan, menggabungkan fitur ponsel dan PDA (Personal Digital Assistant). Ini adalah salah satu perangkat pertama yang memungkinkan akses internet dasar.
  • 1999: WAP (Wireless Application Protocol) memungkinkan akses internet terbatas pada ponsel.
  • 2001: Peluncuran jaringan 3G, memungkinkan akses internet kecepatan tinggi pada ponsel.

4. Era Smartphone Awal (2000-an)

  • 2000: Diluncurkannya Symbian OS oleh Nokia sebagai sistem operasi utama untuk smartphone mereka.
  • 2003: BlackBerry memperkenalkan smartphone dengan kemampuan email push yang mengubah komunikasi bisnis.
  • 2007: Apple meluncurkan iPhone, memperkenalkan iOS dengan layar sentuh kapasitif dan ekosistem aplikasi melalui App Store.
  • 2008: Google meluncurkan Android dengan HTC Dream (T-Mobile G1) sebagai perangkat pertama. Android adalah sistem operasi open source yang cepat tumbuh populer.

5. Perkembangan Ekosistem Aplikasi (2008 - 2010-an)

  • 2008: Apple App Store diluncurkan, memberikan platform bagi pengembang untuk mendistribusikan aplikasi mereka. Pemrograman untuk iOS dilakukan dengan Objective-C.
  • 2009: Android Market (sekarang Google Play Store) diluncurkan, menyediakan platform serupa untuk aplikasi Android. Pemrograman dilakukan dengan Java.
  • 2011: Microsoft meluncurkan Windows Phone, mencoba bersaing dengan iOS dan Android.

6. Bahasa Pemrograman Modern dan Framework (2010-an)

  • 2014: Apple memperkenalkan Swift sebagai bahasa pemrograman baru untuk iOS, menggantikan Objective-C secara bertahap.
  • 2017: Google mengumumkan Kotlin sebagai bahasa resmi kedua untuk pengembangan Android, memberikan opsi modern selain Java.
  • Framework Cross-Platform:
    • React Native: Dikembangkan oleh Facebook, memungkinkan pengembangan aplikasi lintas platform menggunakan JavaScript dan React.
    • Xamarin: Menggunakan C# dan .NET untuk mengembangkan aplikasi yang dapat berjalan di iOS dan Android.
    • Flutter: Dikembangkan oleh Google, menggunakan bahasa Dart untuk membangun aplikasi lintas platform dengan performa tinggi.

7. Teknologi dan Alat Modern (2010-an - 2020-an)

  • Android Studio: Pada Tahun 2013 dirilis sebuah platform atau IDE yang dikhususkan untuk pengembangan Android bernama Android Studio. Android Studio berkembang sangat pesat hingga sekarang dan menjadi paling banyak digunakan untuk pengembangan aplikasi Android.

 

3. Bukalah aplikasi Mobile yang berkaitan dengan sistem akademik (MyITS Apps) yang anda punya. Tuliskan dan jelaskan kegunaan fitur yang sering anda pakai!

My ITS Presensi

Aplikasi mengenai sistem akademik yang paling sering saya pakai adalah MyITS Presensi. MyITS Presensi ini adalah fitur yang digunakan oleh mahasiswa ITS untuk melakukan absen pada saat hadir dalam kelas. Fitur ini menampilkan kelas-kelas apa saja yang diambil pada semester sekarang dan di dalamnya, mahasiswa harus memasukkan kode yang menjadi kode untuk menandai hadir pada kelas tersebut. Terdapat pilihan untuk menandai hadir secara online maupun offline tergantung penyelenggaraan kelas oleh dosen pengampu. Fitur ini sangat berguna karena digunakan dosen pengampu untuk menghitung dan melacak kehadiran setiap mahasiswa dalam setiap kelas. Bagi mahasiswa sendiri juga dapat melacak jumlah kehadirannya dalam setiap kelas yang diambilnya.

 

4. Redesign dari aplikasi sesuai dengan fitur yang sering dipakai!



5. Implementasikan dalam bentuk aplikasi Android halaman masuk dan akses fitur yang sering dipakai!

MainActivity.kt

package com.example.mylogin

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.example.mylogin.ui.theme.MyLoginTheme

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
LoginScreen()
}
}
}

LoginScreen.kt

package com.example.mylogin

import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp

@Composable
fun LoginScreen() {
var email by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }

Column(
modifier = Modifier
.fillMaxSize()
.background(color = Color(240, 240, 240)) // Light grey color
.padding(16.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Spacer(modifier = Modifier.height(32.dp)) // Space at the top

Image(
painter = painterResource(id = R.drawable.logo),
contentDescription = "Login Image",
modifier = Modifier
.size(200.dp) // Adjusted size
.padding(bottom = 16.dp) // Moved image up
)

Text(
text = "Selamat Datang",
fontSize = 36.sp,
fontWeight = FontWeight.SemiBold,
modifier = Modifier.padding(bottom = 8.dp)
)
Text(text = "Aplikasi MyITS Presensi")
Spacer(modifier = Modifier.height(16.dp))

Card(
shape = RoundedCornerShape(8.dp),
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 32.dp)
.shadow(4.dp, RoundedCornerShape(8.dp)),
colors = CardDefaults.cardColors(containerColor = Color(255, 255, 224)) // Light yellow color
) {
Column(
modifier = Modifier.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
OutlinedTextField(
value = email,
onValueChange = { email = it },
label = { Text(text = "NRP") },
modifier = Modifier.fillMaxWidth()
)

Spacer(modifier = Modifier.height(16.dp))

OutlinedTextField(
value = password,
onValueChange = { password = it },
label = { Text(text = "Password") },
visualTransformation = PasswordVisualTransformation(),
modifier = Modifier.fillMaxWidth()
)

Spacer(modifier = Modifier.height(16.dp))

Button(
onClick = {
Log.i("Credential", "Email : $email Password : $password")
},
colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF42A5F5)), // Custom RGB color
modifier = Modifier.fillMaxWidth()
) {
Text(text = "Masuk")
}
}
}

Spacer(modifier = Modifier.height(32.dp)) // Space at the bottom
}
}

6. Dokumentasikan dan demokan dalam Video Youtube dari aplikasi yang telah dibangun.


Link gdocs : gdocs

Link Youtube : Youtube

Komentar

Postingan populer dari blog ini

Tugas 7 - View Model & State in Compose

Tugas 6 - Image Scroll

Tugas 4 - Komponen Button