package com.example.dendiyogiapratama_sorting import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.example.dendiyogiapratama_sorting.ui.theme.DendiYogiaPratamaSortingTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { DendiYogiaPratamaSortingTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> val numbers = listOf(64, 34, 25, 12, 22, 11, 90) val sortedNumbers = bubbleSortAngka(numbers) Greeting( name = "AndroidDen", numbers = numbers, sortedNumbers = sortedNumbers, modifier = Modifier.padding(innerPadding) ) } } } } } fun bubbleSortAngka(numbers: List): List { val arr = numbers.toMutableList() val n = arr.size for (i in 0 until n - 1) { for (j in 0 until n - i - 1) { if (arr[j] > arr[j + 1]) { val temp = arr[j] arr[j] = arr[j + 1] arr[j + 1] = temp } } } return arr } @Composable fun Greeting( name: String, numbers: List, sortedNumbers: List, modifier: Modifier = Modifier ) { Column(modifier = modifier.padding(16.dp)) { Text( text = "Hello $name!", style = MaterialTheme.typography.headlineMedium, modifier = Modifier.padding(bottom = 8.dp) ) Text( text = "Angka asli: ${numbers.joinToString(", ")}", style = MaterialTheme.typography.bodyLarge, modifier = Modifier.padding(bottom = 4.dp) ) Text( text = "Angka yang terurut (Bubble Sort): ${sortedNumbers.joinToString(", ")}", style = MaterialTheme.typography.bodyLarge, color = MaterialTheme.colorScheme.primary ) } } @Preview(showBackground = true) @Composable fun GreetingPreview() { val numbers = listOf(64, 34, 25, 12, 22, 11, 90) val sortedNumbers = bubbleSortAngka(numbers) DendiYogiaPratamaSortingTheme { Greeting( name = "AndroidDen", numbers = numbers, sortedNumbers = sortedNumbers ) } }