From 776ea03e3137cf708a0ba3a324764c94c02ac8ba Mon Sep 17 00:00:00 2001 From: 202310715211 SYAHRIL ACHMAD FAHREZI <202310715211@mhs.ubharajaya.ac.id> Date: Fri, 7 Nov 2025 16:52:00 +0700 Subject: [PATCH] Tugas - Program Sorting --- Tugas2/MainActivity.kt | 66 ++++++++++++++++++++++++ Tugas2/Screenshot 2025-11-07 165013.png | Bin 0 -> 8630 bytes 2 files changed, 66 insertions(+) create mode 100644 Tugas2/MainActivity.kt create mode 100644 Tugas2/Screenshot 2025-11-07 165013.png diff --git a/Tugas2/MainActivity.kt b/Tugas2/MainActivity.kt new file mode 100644 index 0000000..c90ca1b --- /dev/null +++ b/Tugas2/MainActivity.kt @@ -0,0 +1,66 @@ +package com.example.programsorting + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +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 com.example.programsorting.ui.theme.ProgramsortingTheme + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContent { + ProgramsortingTheme { + Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> + Tampilan( + data = intArrayOf(12, 2, 5, 15, 20), + modifier = Modifier.padding(innerPadding) + ) + } + } + } + } +} + +// Fungsi Bubble Sort +fun bubbleSort(numbers: IntArray): IntArray { + val arr = numbers.copyOf() + 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]) { + // Swap + val temp = arr[j] + arr[j] = arr[j + 1] + arr[j + 1] = temp + } + } + } + return arr +} + +@Composable +fun Tampilan(data: IntArray, modifier: Modifier = Modifier) { + val sorted = bubbleSort(data) + Text( + text = "Data sebelum sort: ${data.joinToString(", ")}\n" + + "Data setelah sort: ${sorted.joinToString(", ")}", + modifier = modifier + ) +} + +@Preview(showBackground = true) +@Composable +fun TampilanPreview() { + ProgramsortingTheme { + Tampilan(intArrayOf(12, 2, 5, 15, 20)) + } +} \ No newline at end of file diff --git a/Tugas2/Screenshot 2025-11-07 165013.png b/Tugas2/Screenshot 2025-11-07 165013.png new file mode 100644 index 0000000000000000000000000000000000000000..42956fbb513be75dad3b2df6814a4185f9ab31ce GIT binary patch literal 8630 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 E0EGGw%K!iX literal 0 HcmV?d00001