Tugas Shorting
This commit is contained in:
parent
edd9f7e112
commit
ee2848c070
63
Shortting/MainActivity.kt
Normal file
63
Shortting/MainActivity.kt
Normal file
@ -0,0 +1,63 @@
|
||||
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<Int>): List<Int> {
|
||||
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
|
||||
}
|
||||
}
|
||||
BIN
Shortting/Screenshot 2025-10-16 111214.png
Normal file
BIN
Shortting/Screenshot 2025-10-16 111214.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
Loading…
x
Reference in New Issue
Block a user