diff --git a/Tugas HelloWord/MainActivity.kt b/Tugas HelloWord/MainActivity.kt index 885a7c2..8974c3b 100644 --- a/Tugas HelloWord/MainActivity.kt +++ b/Tugas HelloWord/MainActivity.kt @@ -1,26 +1,62 @@ -package com.example.hellobila +package com.example.sorting import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge -import androidx.appcompat.app.AppCompatActivity -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsCompat +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.example.sorting.ui.theme.SortingTheme -class MainActivity : AppCompatActivity() { +class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - - // Mengaktifkan tampilan edge-to-edge agar aplikasi memenuhi seluruh layar enableEdgeToEdge() - - // Menghubungkan layout XML (activity_main.xml) dengan activity ini - setContentView(R.layout.activity_main) - - // Menambahkan padding pada layout utama agar tidak tertimpa oleh status bar atau navigation bar - 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 + setContent { + SortingTheme { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + SortIntarray() + } + } } } } + +@Composable +fun SortIntarray() { + // Angka yang mau diurutkan + val numbers = listOf(1, 7, 99, 46, 90, 600, 98, 76, 52) + + // State sebelum dan sesudah + var before by remember { mutableStateOf("") } + var after by remember { mutableStateOf("") } + + // Proses sortir + LaunchedEffect(Unit) { + before = numbers.joinToString(", ") + val sorted = numbers.sorted() + after = sorted.joinToString(", ") + } + + Column { + Text(text = "Sebelum diurutkan: $before") + Text(text = "Sesudah diurutkan: $after") + } +} + +@Preview(showBackground = true) +@Composable +fun PreviewSortIntarray() { + SortingTheme { + SortIntarray() + } +}