Tugas2 Sorting
This commit is contained in:
parent
2a261c76b4
commit
9721b4ea3f
99
MainActivitySorting.kt
Normal file
99
MainActivitySorting.kt
Normal file
@ -0,0 +1,99 @@
|
||||
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<Int>): List<Int> {
|
||||
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<Int>,
|
||||
sortedNumbers: List<Int>,
|
||||
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
|
||||
)
|
||||
}
|
||||
}
|
||||
BIN
Screenshot 2025-10-09 at 14.59.55.png
Normal file
BIN
Screenshot 2025-10-09 at 14.59.55.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 815 KiB |
Loading…
x
Reference in New Issue
Block a user