From 03424d6cd821913d3b30547888930a522d6630ea Mon Sep 17 00:00:00 2001 From: 202310715002 RAFI FATTAN FITRIARDI <202310715002@mhs.ubharajaya.ac.id> Date: Thu, 9 Oct 2025 18:32:44 +0700 Subject: [PATCH] Upload files to "/" --- MainActivity.kt | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ Tugas 2.PNG | Bin 0 -> 5341 bytes 2 files changed, 73 insertions(+) create mode 100644 MainActivity.kt create mode 100644 Tugas 2.PNG diff --git a/MainActivity.kt b/MainActivity.kt new file mode 100644 index 0000000..da07202 --- /dev/null +++ b/MainActivity.kt @@ -0,0 +1,73 @@ +/* + Nama: Rafi Fattan Fitriardi + NPM : 202310715002 + */ + + +package com.example.sorting + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.layout.* +import androidx.compose.material3.* +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + BubbleSortApp() + } + } +} + +@Composable +fun BubbleSortApp() { + // Array awal + val original = listOf(8, 3, 5, 2, 9) + val sorted = bubbleSort(original.toMutableList()) + + // Tampilan UI + Column( + modifier = Modifier + .fillMaxSize() + .padding(16.dp) + ) { + Text( + text = "Algoritma Bubble Sort", + style = MaterialTheme.typography.headlineSmall + ) + Spacer(modifier = Modifier.height(16.dp)) + + Text("Sebelum Sorting: ${original.joinToString()}") + Spacer(modifier = Modifier.height(8.dp)) + Text("Sesudah Sorting: ${sorted.joinToString()}") + } +} + + +fun bubbleSort(arr: MutableList): List { + 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]) { + // Tukar elemen + val temp = arr[j] + arr[j] = arr[j + 1] + arr[j + 1] = temp + } + } + } + return arr +} + + +@Preview(showBackground = true) +@Composable +fun PreviewBubbleSortApp() { + BubbleSortApp() +} \ No newline at end of file diff --git a/Tugas 2.PNG b/Tugas 2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f489b20c7e1db1d4477feffdeff5b0463567e962 GIT binary patch literal 5341 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 O0^H8S&XLdjbobwI1(8Mo literal 0 HcmV?d00001