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