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