package com.example.shorting import android.os.Bundle import android.widget.TextView // Import TextView import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContentView(R.layout.activity_main) // 1. Siapkan data angka yang akan di-sorting val numbers = listOf(64, 34, 25, 12, 22, 11, 90) // 2. Panggil fungsi sorting untuk mendapatkan hasilnya val sortedNumbers = bubbleSort(numbers) // 3. Hubungkan ke komponen TextView di layout XML val originalNumbersTextView: TextView = findViewById(R.id.originalNumbersTextView) val sortedNumbersTextView: TextView = findViewById(R.id.sortedNumbersTextView) // 4. Tampilkan hasilnya ke TextView originalNumbersTextView.text = "Angka Asli: ${numbers.joinToString(", ")}" sortedNumbersTextView.text = "Angka Terurut: ${sortedNumbers.joinToString(", ")}" // --- Kode bawaan untuk mengatur padding, biarkan saja --- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } } /** * Fungsi untuk mengurutkan daftar Angka (Integer) menggunakan algoritma Bubble Sort. * @param numbers List angka yang belum terurut. * @return List angka yang sudah terurut dari kecil ke besar. */ private fun bubbleSort(numbers: List): List { val arr = numbers.toMutableList() // Salin list agar bisa diubah val n = arr.size // Looping untuk setiap elemen for (i in 0 until n - 1) { // Looping untuk membandingkan dan menukar elemen for (j in 0 until n - i - 1) { // Jika elemen saat ini lebih besar dari elemen berikutnya if (arr[j] > arr[j + 1]) { // Tukar posisi val temp = arr[j] arr[j] = arr[j + 1] arr[j + 1] = temp } } } return arr // Kembalikan list yang sudah terurut } }