From e038caa13c95b23255176b6c52f72e97cd382f94 Mon Sep 17 00:00:00 2001 From: 202310715297 RAIHAN ARIQ MUZAKKI <202310715297@mhs.ubharajaya.ac.id> Date: Thu, 9 Oct 2025 15:18:51 +0700 Subject: [PATCH] Tugas Sorting Program --- Tugas2/MainActivity.kt | 66 ++++++++++++++++++++++++++++++++++++++ Tugas2/PreviewSorting.png | Bin 0 -> 14162 bytes 2 files changed, 66 insertions(+) create mode 100644 Tugas2/MainActivity.kt create mode 100644 Tugas2/PreviewSorting.png diff --git a/Tugas2/MainActivity.kt b/Tugas2/MainActivity.kt new file mode 100644 index 0000000..ff9f340 --- /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(20, 21, 22, 100, 3), + 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(20, 21, 22, 100, 3)) + } +} diff --git a/Tugas2/PreviewSorting.png b/Tugas2/PreviewSorting.png new file mode 100644 index 0000000000000000000000000000000000000000..821b715c5f8d5a8a8affab398a9e98b3ae364b01 GIT binary patch literal 14162 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