ProjectFinalUas_SIADaniel

This commit is contained in:
Hans4yu 2025-01-09 23:05:18 +07:00
parent 6f1a5bed2f
commit d50b0b9c6b
15 changed files with 113 additions and 23 deletions

2
.idea/.name generated
View File

@ -1 +1 @@
SIA Mobile
daniel_siamobile

View File

@ -4,6 +4,14 @@
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2025-01-09T15:30:50.849562Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\Asus\.android\avd\Pixel_9_Pro_XL_API_35.avd" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
</selectionStates>
</component>

1
.idea/gradle.xml generated
View File

@ -6,6 +6,7 @@
<GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$PROJECT_DIR$/../../../../../gradle" />
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
<option name="modules">
<set>

View File

@ -5,11 +5,11 @@ plugins {
}
android {
namespace = "com.example.siamobile"
namespace = "com.example.daniel_siamobile"
compileSdk = 35
defaultConfig {
applicationId = "com.example.siamobile"
applicationId = "com.example.daniel_siamobile"
minSdk = 24
targetSdk = 35
versionCode = 1

View File

@ -1,4 +1,4 @@
package com.example.siamobile
package com.example.daniel_siamobile
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

View File

@ -1,4 +1,4 @@
package com.example.siamobile
package com.example.daniel_siamobile
import android.os.Bundle
import androidx.activity.ComponentActivity
@ -14,7 +14,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.example.siamobile.ui.theme.SIAMobileTheme
import com.example.daniel_siamobile.ui.theme.SIAMobileTheme
import androidx.compose.foundation.clickable
class KHSActivity : ComponentActivity() {

View File

@ -1,4 +1,4 @@
package com.example.siamobile
package com.example.daniel_siamobile
import android.os.Bundle
import androidx.activity.ComponentActivity
@ -11,7 +11,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.example.siamobile.ui.theme.SIAMobileTheme
import com.example.daniel_siamobile.ui.theme.SIAMobileTheme
class Mhs000000000000 : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {

View File

@ -1,10 +1,12 @@
package com.example.siamobile
package com.example.daniel_siamobile
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.*
import androidx.compose.runtime.*
@ -14,7 +16,7 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.siamobile.ui.theme.SIAMobileTheme
import com.example.daniel_siamobile.ui.theme.SIAMobileTheme
import android.content.Intent
import androidx.compose.ui.platform.LocalContext
@ -40,16 +42,17 @@ fun AppNavigator() {
"About" -> currentScreen = "AboutScreen"
"Pengaturan" -> currentScreen = "SettingsScreen"
"Bantuan" -> currentScreen = "HelpScreen"
"Jadwal Kuliah" -> currentScreen = "JadwalKuliahScreen"
}
}
)
"AboutScreen" -> AboutScreen(onBackClick = { currentScreen = "MainMenu" })
"SettingsScreen" -> SettingsScreen(onBackClick = { currentScreen = "MainMenu" })
"HelpScreen" -> HelpScreen(onBackClick = { currentScreen = "MainMenu" })
"JadwalKuliahScreen" -> JadwalKuliahScreen(onBackClick = { currentScreen = "MainMenu" })
}
}
@Composable
fun MainMenuScreen(onMenuClick: (String) -> Unit, modifier: Modifier = Modifier) {
val context = LocalContext.current
@ -62,7 +65,7 @@ fun MainMenuScreen(onMenuClick: (String) -> Unit, modifier: Modifier = Modifier)
) {
Column(verticalArrangement = Arrangement.spacedBy(12.dp)) {
Text(
text = "Selamat Datang di Aplikasi Akademik",
text = "Selamat Datang di Aplikasi Akademik (DanielSIA)",
style = MaterialTheme.typography.headlineMedium,
fontWeight = FontWeight.Bold
)
@ -84,11 +87,9 @@ fun MainMenuScreen(onMenuClick: (String) -> Unit, modifier: Modifier = Modifier)
MenuCard(menuTitle = menu) {
when (menu) {
"Kartu Hasil Studi" -> {
// Membuka KHSActivity
context.startActivity(Intent(context, KHSActivity::class.java))
}
else -> {
// Menu lainnya menggunakan handler onMenuClick
onMenuClick(menu)
}
}
@ -96,7 +97,7 @@ fun MainMenuScreen(onMenuClick: (String) -> Unit, modifier: Modifier = Modifier)
}
}
Footer(version = "1.0.0", copyright = "© 2025")
Footer(version = "1.0.0", copyright = "\u00A9 2025")
}
}
@ -156,7 +157,7 @@ fun AboutScreen(onBackClick: () -> Unit) {
)
Spacer(modifier = Modifier.height(8.dp))
Text(
text = "© 2025 Fasilkom Ubharajaya",
text = "\u00A9 2025 Fasilkom Ubharajaya",
style = MaterialTheme.typography.bodySmall,
fontWeight = FontWeight.Light,
textAlign = TextAlign.Center
@ -240,6 +241,79 @@ fun HelpScreen(onBackClick: () -> Unit) {
}
}
@Composable
fun JadwalKuliahScreen(onBackClick: () -> Unit) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp),
verticalArrangement = Arrangement.SpaceBetween
) {
Text(
text = "Jadwal Kuliah",
style = MaterialTheme.typography.headlineMedium,
fontWeight = FontWeight.Bold,
modifier = Modifier.padding(bottom = 16.dp)
)
LazyColumn(verticalArrangement = Arrangement.spacedBy(8.dp)) {
items(jadwalList) { jadwal ->
Card(
shape = RoundedCornerShape(12.dp),
elevation = CardDefaults.cardElevation(4.dp),
modifier = Modifier.fillMaxWidth()
) {
Column(modifier = Modifier.padding(16.dp)) {
Text(
text = "${jadwal.no}. ${jadwal.mataKuliah}",
style = MaterialTheme.typography.bodyLarge,
fontWeight = FontWeight.Bold
)
Text(
text = "Kelas: ${jadwal.kelas}, SKS: ${jadwal.sks}",
style = MaterialTheme.typography.bodyMedium
)
Text(
text = "Dosen: ${jadwal.dosen}",
style = MaterialTheme.typography.bodyMedium
)
Text(
text = "Waktu: ${jadwal.waktu}, Ruang: ${jadwal.ruang}",
style = MaterialTheme.typography.bodyMedium
)
}
}
}
}
Button(
onClick = onBackClick,
modifier = Modifier.align(Alignment.CenterHorizontally)
) {
Text(text = "Kembali ke Menu Utama")
}
}
}
val jadwalList = listOf(
JadwalKuliah(1, "INFO-3527", "Pembelajaran Mesin", "F5A1", 3, "Dr. MUJIONO, ST., MT.", "UBJ-BKS || R. Said Soekanto || SS-423", "Rabu, 10:45 - 13:15"),
JadwalKuliah(2, "INFO-3528", "Interaksi Manusia dan Komputer", "F5A6", 3, "Dian Hartanti, S.Kom., MMSI", "UBJ-BKS || R. Said Soekanto || SS-204", "Senin, 10:45 - 13:15"),
JadwalKuliah(3, "INFO-3529", "Pemrograman Perangkat Bergerak", "F5A2", 3, "Arif Rifai Dwiyanto, ST., MTI", "UBJ-BKS || R. Said Soekanto || SS-412", "Rabu, 13:30 - 15:15"),
JadwalKuliah(4, "INFO-3530", "Kecerdasan Buatan", "F5A6", 3, "Dr. Tb. Ai Munandar, S.Kom., MT", "UBJ-BKS || R. Said Soekanto || SS-423", "Senin, 08:00 - 10:30"),
JadwalKuliah(5, "INFO-3531", "Keamanan Siber", "F5A2", 3, "Asep Ramdhani Mahbub, S.Kom., M.Kom.", "UBJ-BKS || R. Said Soekanto || R.K923", "Rabu, 08:00 - 10:30"),
)
data class JadwalKuliah(
val no: Int,
val kode: String,
val mataKuliah: String,
val kelas: String,
val sks: Int,
val dosen: String,
val ruang: String,
val waktu: String
)
@Composable
fun Footer(version: String, copyright: String) {
Column(
@ -290,3 +364,11 @@ fun HelpScreenPreview() {
HelpScreen(onBackClick = {})
}
}
@Preview(showBackground = true)
@Composable
fun JadwalKuliahScreenPreview() {
SIAMobileTheme {
JadwalKuliahScreen(onBackClick = {})
}
}

View File

@ -1,4 +1,4 @@
package com.example.siamobile.ui.theme
package com.example.daniel_siamobile.ui.theme
import androidx.compose.ui.graphics.Color

View File

@ -1,6 +1,5 @@
package com.example.siamobile.ui.theme
package com.example.daniel_siamobile.ui.theme
import android.app.Activity
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme

View File

@ -1,4 +1,4 @@
package com.example.siamobile.ui.theme
package com.example.daniel_siamobile.ui.theme
import androidx.compose.material3.Typography
import androidx.compose.ui.text.TextStyle

View File

@ -1,3 +1,3 @@
<resources>
<string name="app_name">SIA Mobile</string>
<string name="app_name">daniel_siamobile</string>
</resources>

View File

@ -1,4 +1,4 @@
package com.example.siamobile
package com.example.daniel_siamobile
import org.junit.Test

View File

@ -19,5 +19,5 @@ dependencyResolutionManagement {
}
}
rootProject.name = "SIA Mobile"
rootProject.name = "daniel_siamobile"
include(":app")