forked from administrator/UAS
		
	UAS
This commit is contained in:
		
							parent
							
								
									fc461f2f3e
								
							
						
					
					
						commit
						dd48025363
					
				
							
								
								
									
										1
									
								
								.idea/gradle.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								.idea/gradle.xml
									
									
									
										generated
									
									
									
								
							@ -4,6 +4,7 @@
 | 
				
			|||||||
  <component name="GradleSettings">
 | 
					  <component name="GradleSettings">
 | 
				
			||||||
    <option name="linkedExternalProjectsSettings">
 | 
					    <option name="linkedExternalProjectsSettings">
 | 
				
			||||||
      <GradleProjectSettings>
 | 
					      <GradleProjectSettings>
 | 
				
			||||||
 | 
					        <option name="testRunner" value="CHOOSE_PER_TEST" />
 | 
				
			||||||
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
 | 
					        <option name="externalProjectPath" value="$PROJECT_DIR$" />
 | 
				
			||||||
        <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
 | 
					        <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
 | 
				
			||||||
        <option name="modules">
 | 
					        <option name="modules">
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
								
							@ -37,6 +37,10 @@
 | 
				
			|||||||
      <option name="composableFile" value="true" />
 | 
					      <option name="composableFile" value="true" />
 | 
				
			||||||
      <option name="previewFile" value="true" />
 | 
					      <option name="previewFile" value="true" />
 | 
				
			||||||
    </inspection_tool>
 | 
					    </inspection_tool>
 | 
				
			||||||
 | 
					    <inspection_tool class="PreviewDeviceShouldUseNewSpec" enabled="true" level="WEAK WARNING" enabled_by_default="true">
 | 
				
			||||||
 | 
					      <option name="composableFile" value="true" />
 | 
				
			||||||
 | 
					      <option name="previewFile" value="true" />
 | 
				
			||||||
 | 
					    </inspection_tool>
 | 
				
			||||||
    <inspection_tool class="PreviewFontScaleMustBeGreaterThanZero" enabled="true" level="ERROR" enabled_by_default="true">
 | 
					    <inspection_tool class="PreviewFontScaleMustBeGreaterThanZero" enabled="true" level="ERROR" enabled_by_default="true">
 | 
				
			||||||
      <option name="composableFile" value="true" />
 | 
					      <option name="composableFile" value="true" />
 | 
				
			||||||
      <option name="previewFile" value="true" />
 | 
					      <option name="previewFile" value="true" />
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							@ -1,4 +1,3 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<project version="4">
 | 
					<project version="4">
 | 
				
			||||||
  <component name="EntryPointsManager">
 | 
					  <component name="EntryPointsManager">
 | 
				
			||||||
    <list size="1">
 | 
					    <list size="1">
 | 
				
			||||||
 | 
				
			|||||||
@ -1,189 +0,0 @@
 | 
				
			|||||||
package com.example.siamobile
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import android.os.Bundle
 | 
					 | 
				
			||||||
import androidx.activity.ComponentActivity
 | 
					 | 
				
			||||||
import androidx.activity.compose.setContent
 | 
					 | 
				
			||||||
import androidx.compose.animation.animateContentSize
 | 
					 | 
				
			||||||
import androidx.compose.foundation.background
 | 
					 | 
				
			||||||
import androidx.compose.foundation.clickable
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.Arrangement
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.Column
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.Row
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.Spacer
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.fillMaxSize
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.fillMaxWidth
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.height
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.padding
 | 
					 | 
				
			||||||
import androidx.compose.foundation.lazy.LazyColumn
 | 
					 | 
				
			||||||
import androidx.compose.foundation.lazy.items
 | 
					 | 
				
			||||||
import androidx.compose.foundation.shape.RoundedCornerShape
 | 
					 | 
				
			||||||
import androidx.compose.material3.Button
 | 
					 | 
				
			||||||
import androidx.compose.material3.ButtonDefaults
 | 
					 | 
				
			||||||
import androidx.compose.material3.MaterialTheme
 | 
					 | 
				
			||||||
import androidx.compose.material3.Text
 | 
					 | 
				
			||||||
import androidx.compose.runtime.Composable
 | 
					 | 
				
			||||||
import androidx.compose.runtime.getValue
 | 
					 | 
				
			||||||
import androidx.compose.runtime.mutableStateOf
 | 
					 | 
				
			||||||
import androidx.compose.runtime.remember
 | 
					 | 
				
			||||||
import androidx.compose.runtime.setValue
 | 
					 | 
				
			||||||
import androidx.compose.ui.Alignment
 | 
					 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					 | 
				
			||||||
import androidx.compose.ui.graphics.Color
 | 
					 | 
				
			||||||
import androidx.compose.ui.platform.LocalContext
 | 
					 | 
				
			||||||
import androidx.compose.ui.text.font.FontWeight
 | 
					 | 
				
			||||||
import androidx.compose.ui.unit.dp
 | 
					 | 
				
			||||||
import androidx.compose.ui.unit.sp
 | 
					 | 
				
			||||||
import com.example.siamobile.ui.theme.SIAMobileTheme
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Mhs202210715136 : ComponentActivity() {
 | 
					 | 
				
			||||||
    override fun onCreate(savedInstanceState: Bundle?) {
 | 
					 | 
				
			||||||
        super.onCreate(savedInstanceState)
 | 
					 | 
				
			||||||
        val mahasiswaName = intent.getStringExtra("mahasiswaName") ?: "NPM: 202210715136 Nama: Muhamad Rajwa Athoriq"
 | 
					 | 
				
			||||||
        setContent {
 | 
					 | 
				
			||||||
            SIAMobileTheme {
 | 
					 | 
				
			||||||
                DetailMahasiswaScreen(mahasiswaName)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@Composable
 | 
					 | 
				
			||||||
fun DetailMahasiswaScreenOld(mahasiswaName: String) {
 | 
					 | 
				
			||||||
    val context = LocalContext.current
 | 
					 | 
				
			||||||
    val matakuliahList = listOf(
 | 
					 | 
				
			||||||
        Triple(1, "Aljabar Linear", 1),
 | 
					 | 
				
			||||||
        Triple(2, "Character Building", 1),
 | 
					 | 
				
			||||||
        Triple(3, "Dasar Pemrograman", 1),
 | 
					 | 
				
			||||||
        Triple(4, "Fisika", 1),
 | 
					 | 
				
			||||||
        Triple(5, "Kalkulus 1", 1),
 | 
					 | 
				
			||||||
        Triple(6, "Kewarganegaraan", 1),
 | 
					 | 
				
			||||||
        Triple(7, "Pengantar Teknologi Informasi", 1),
 | 
					 | 
				
			||||||
        Triple(8, "Struktur Data dan Algoritma", 1),
 | 
					 | 
				
			||||||
        Triple(9, "Bahasa Indonesia", 2),
 | 
					 | 
				
			||||||
        Triple(10, "Desain dan Analisis Algoritma", 2),
 | 
					 | 
				
			||||||
        Triple(11, "Kalkulus II", 2),
 | 
					 | 
				
			||||||
        Triple(12, "Logika Matematika", 2),
 | 
					 | 
				
			||||||
        Triple(13, "Matematika Diskrit", 2),
 | 
					 | 
				
			||||||
        Triple(14, "Pendidikan Agama", 2),
 | 
					 | 
				
			||||||
        Triple(15, "Sistem Basis Data", 2),
 | 
					 | 
				
			||||||
        Triple(16, "Analisa Numerik", 3)
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Column(
 | 
					 | 
				
			||||||
        modifier = Modifier
 | 
					 | 
				
			||||||
            .fillMaxSize()
 | 
					 | 
				
			||||||
            .padding(16.dp),
 | 
					 | 
				
			||||||
        verticalArrangement = Arrangement.SpaceBetween
 | 
					 | 
				
			||||||
    ) {
 | 
					 | 
				
			||||||
        Column {
 | 
					 | 
				
			||||||
            Text(
 | 
					 | 
				
			||||||
                text = "KHS Mahasiswa",
 | 
					 | 
				
			||||||
                style = MaterialTheme.typography.headlineMedium,
 | 
					 | 
				
			||||||
                fontWeight = FontWeight.Bold
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
            Spacer(modifier = Modifier.height(8.dp))
 | 
					 | 
				
			||||||
            Text(
 | 
					 | 
				
			||||||
                text = mahasiswaName,
 | 
					 | 
				
			||||||
                style = MaterialTheme.typography.bodyLarge,
 | 
					 | 
				
			||||||
                fontWeight = FontWeight.Medium
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
            Spacer(modifier = Modifier.height(16.dp))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Table Header
 | 
					 | 
				
			||||||
            Row(
 | 
					 | 
				
			||||||
                modifier = Modifier
 | 
					 | 
				
			||||||
                    .fillMaxWidth()
 | 
					 | 
				
			||||||
                    .background(MaterialTheme.colorScheme.primaryContainer, RoundedCornerShape(8.dp))
 | 
					 | 
				
			||||||
                    .padding(vertical = 8.dp, horizontal = 16.dp),
 | 
					 | 
				
			||||||
                horizontalArrangement = Arrangement.SpaceBetween
 | 
					 | 
				
			||||||
            ) {
 | 
					 | 
				
			||||||
                Text(
 | 
					 | 
				
			||||||
                    text = "No",
 | 
					 | 
				
			||||||
                    style = MaterialTheme.typography.bodyMedium.copy(
 | 
					 | 
				
			||||||
                        fontWeight = FontWeight.Bold,
 | 
					 | 
				
			||||||
                        color = MaterialTheme.colorScheme.onPrimaryContainer
 | 
					 | 
				
			||||||
                    ),
 | 
					 | 
				
			||||||
                    modifier = Modifier.weight(0.2f)
 | 
					 | 
				
			||||||
                )
 | 
					 | 
				
			||||||
                Text(
 | 
					 | 
				
			||||||
                    text = "Mata Kuliah",
 | 
					 | 
				
			||||||
                    style = MaterialTheme.typography.bodyMedium.copy(
 | 
					 | 
				
			||||||
                        fontWeight = FontWeight.Bold,
 | 
					 | 
				
			||||||
                        color = MaterialTheme.colorScheme.onPrimaryContainer
 | 
					 | 
				
			||||||
                    ),
 | 
					 | 
				
			||||||
                    modifier = Modifier.weight(0.6f)
 | 
					 | 
				
			||||||
                )
 | 
					 | 
				
			||||||
                Text(
 | 
					 | 
				
			||||||
                    text = "Sem.",
 | 
					 | 
				
			||||||
                    style = MaterialTheme.typography.bodyMedium.copy(
 | 
					 | 
				
			||||||
                        fontWeight = FontWeight.Bold,
 | 
					 | 
				
			||||||
                        color = MaterialTheme.colorScheme.onPrimaryContainer
 | 
					 | 
				
			||||||
                    ),
 | 
					 | 
				
			||||||
                    modifier = Modifier.weight(0.2f)
 | 
					 | 
				
			||||||
                )
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            Spacer(modifier = Modifier.height(8.dp))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Table Rows
 | 
					 | 
				
			||||||
            LazyColumn(
 | 
					 | 
				
			||||||
                modifier = Modifier.fillMaxWidth()
 | 
					 | 
				
			||||||
            ) {
 | 
					 | 
				
			||||||
                items(matakuliahList) { (no, course, semester) ->
 | 
					 | 
				
			||||||
                    var isSelected by remember { mutableStateOf(false) }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    Row(
 | 
					 | 
				
			||||||
                        modifier = Modifier
 | 
					 | 
				
			||||||
                            .fillMaxWidth()
 | 
					 | 
				
			||||||
                            .padding(vertical = 4.dp)
 | 
					 | 
				
			||||||
                            .clickable {
 | 
					 | 
				
			||||||
                                isSelected = !isSelected
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                            .background(
 | 
					 | 
				
			||||||
                                if (isSelected) MaterialTheme.colorScheme.secondaryContainer
 | 
					 | 
				
			||||||
                                else Color.Transparent,
 | 
					 | 
				
			||||||
                                RoundedCornerShape(8.dp)
 | 
					 | 
				
			||||||
                            )
 | 
					 | 
				
			||||||
                            .padding(vertical = 12.dp, horizontal = 16.dp)
 | 
					 | 
				
			||||||
                            .animateContentSize(),
 | 
					 | 
				
			||||||
                        horizontalArrangement = Arrangement.SpaceBetween
 | 
					 | 
				
			||||||
                    ) {
 | 
					 | 
				
			||||||
                        Text(
 | 
					 | 
				
			||||||
                            text = no.toString(),
 | 
					 | 
				
			||||||
                            style = MaterialTheme.typography.bodyMedium,
 | 
					 | 
				
			||||||
                            fontSize = 16.sp,
 | 
					 | 
				
			||||||
                            modifier = Modifier.weight(0.2f)
 | 
					 | 
				
			||||||
                        )
 | 
					 | 
				
			||||||
                        Text(
 | 
					 | 
				
			||||||
                            text = course,
 | 
					 | 
				
			||||||
                            style = MaterialTheme.typography.bodyMedium,
 | 
					 | 
				
			||||||
                            fontSize = 16.sp,
 | 
					 | 
				
			||||||
                            modifier = Modifier.weight(0.6f)
 | 
					 | 
				
			||||||
                        )
 | 
					 | 
				
			||||||
                        Text(
 | 
					 | 
				
			||||||
                            text = semester.toString(),
 | 
					 | 
				
			||||||
                            style = MaterialTheme.typography.bodyMedium,
 | 
					 | 
				
			||||||
                            fontSize = 16.sp,
 | 
					 | 
				
			||||||
                            modifier = Modifier.weight(0.2f)
 | 
					 | 
				
			||||||
                        )
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Interactive Back Button with visual feedback
 | 
					 | 
				
			||||||
        Button(
 | 
					 | 
				
			||||||
            onClick = { (context as? ComponentActivity)?.finish() },
 | 
					 | 
				
			||||||
            modifier = Modifier
 | 
					 | 
				
			||||||
                .align(Alignment.CenterHorizontally)
 | 
					 | 
				
			||||||
                .padding(top = 16.dp),
 | 
					 | 
				
			||||||
            colors = ButtonDefaults.buttonColors(
 | 
					 | 
				
			||||||
                containerColor = MaterialTheme.colorScheme.primary,
 | 
					 | 
				
			||||||
                contentColor = MaterialTheme.colorScheme.onPrimary
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
            Text(text = "Kembali")
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
[versions]
 | 
					[versions]
 | 
				
			||||||
agp = "8.6.0"
 | 
					agp = "8.7.3"
 | 
				
			||||||
kotlin = "2.0.0"
 | 
					kotlin = "2.0.0"
 | 
				
			||||||
coreKtx = "1.15.0"
 | 
					coreKtx = "1.15.0"
 | 
				
			||||||
junit = "4.13.2"
 | 
					junit = "4.13.2"
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user