NEW
Font size
WorksheetsUAS Logika dan Algoritma
Total questions: 20
Worksheet time: 20mins
Seorang pengembang perangkat lunak menemukan bahwa aplikasinya berhenti di tengah jalan tanpa memberikan hasil apa pun. Berdasarkan sifat algoritma menurut Donald E. Knuth, karakteristik manakah yang gagal dipenuhi oleh aplikasi tersebut?
Output (Keluaran) yang mewajibkan sistem menghasilkan setidaknya satu informasi baru.
Effectiveness (Efektivitas) yang memastikan setiap langkah dijalankan secara efisien.
Finiteness (Keterbatasan) yang menjamin program akan berhenti pada titik tertentu.
Input (Masukan) yang memastikan adanya data awal yang akan diproses oleh sistem.
Definiteness (Kepastian) yang mengharuskan instruksi didefinisikan secara tidak ambigu.
Manakah dari pernyataan berikut yang paling tepat menggambarkan perbedaan fundamental antara Logika dan Algoritma dalam konteks penyelesaian masalah komputer?
Logika bersifat terbatas oleh waktu sedangkan algoritma bersifat tetap tanpa ada batasan.
Logika fokus pada hasil akhir sedangkan algoritma fokus pada pengumpulan data masukan.
Logika merupakan implementasi kode sedangkan algoritma adalah teori dasar pemrograman.
Logika adalah cetak biru penalaran sedangkan algoritma adalah rencana konstruksi fisik.
Logika digunakan oleh mesin sedangkan algoritma digunakan oleh manusia secara manual.
Diberikan ekspresi logika berikut: (p AND q) OR (NOT r). Jika p = True, q = False, dan r = False, bagaimanakah hasil akhir dari evaluasi kebenaran ekspresi tersebut?
Hasilnya adalah False karena operasi AND memberikan nilai salah jika satu input salah.
Hasilnya adalah True karena operasi OR memberikan nilai benar jika salah satu sisi benar.
Hasilnya adalah True karena semua variabel memiliki nilai kebenaran yang setara di akhir.
Hasilnya adalah True karena operasi AND lebih diprioritaskan daripada operasi negasi.
Hasilnya adalah False karena negasi r membatalkan semua nilai benar yang ada sebelumnya.
Dalam struktur percabangan majemuk untuk menentukan nilai huruf (Grade), seorang siswa mendapatkan skor 80. Berdasarkan algoritma: (Skor > 80 → A, Skor > 70 → B, Skor > 60 → C), grade apakah yang akan diterima?
Grade C, karena algoritma akan terus berjalan hingga mencapai kondisi paling bawah.
Grade D, karena tidak ada kondisi yang secara spesifik menyebutkan angka delapan puluh.
Grade A, karena nilai 80 secara otomatis dianggap masuk ke dalam kategori nilai terbaik.
Grade B, karena kondisi pertama tidak terpenuhi sehingga sistem mengevaluasi baris kedua.
Kesalahan sistem, karena nilai delapan puluh berada tepat di antara dua batas kategori.
Analisis skenario berikut: Anda ingin membuat program yang menjamin pengguna memasukkan kata sandi minimal satu kali sebelum divalidasi. Struktur perulangan manakah yang paling efektif digunakan?
For, karena jumlah percobaan masukan kata sandi dapat dibatasi dengan variabel pencacah.
Sequence, karena penginputan kata sandi harus dilakukan secara berurutan dari atas ke bawah.
While, karena sistem akan terus meminta masukan selama pengguna belum memberikan data.
Do-While, karena kondisi diperiksa di akhir sehingga kode dalam blok dijalankan sekali.
Nested Loop, karena diperlukan perulangan di dalam perulangan untuk sistem keamanan tinggi.
Seorang programmer mendeklarasikan array nilai[5]. Ketika ia mencoba mengakses nilai[5] untuk menampilkan data, terjadi kesalahan (error). Mengapa hal ini terjadi berdasarkan aturan indeks array?
Array tersebut bersifat statis sehingga tidak bisa diakses tanpa melalui proses perulangan.
Tipe data array harus homogen sehingga indeks kelima dianggap tidak memiliki tipe data.
Nama variabel array terlalu pendek sehingga sistem gagal memetakan indeks yang diminta.
Indeks array selalu ganjil, sehingga indeks genap seperti angka lima tidak dapat dikenali.
Indeks dimulai dari nol, sehingga untuk ukuran lima, indeks tertinggi yang valid adalah empat.
Manakah pernyataan di bawah ini yang merupakan kelemahan utama dari notasi algoritma menggunakan Bahasa Natural dibandingkan dengan Flowchart?
Bahasa natural memerlukan perangkat lunak khusus untuk dapat ditulis dan didokumentasikan.
Bahasa natural sangat rentan terhadap ambiguitas dan interpretasi yang berbeda bagi pembaca.
Bahasa natural sulit dipahami oleh orang awam yang tidak mengerti bahasa pemrograman.
Bahasa natural terlalu singkat sehingga tidak bisa menjelaskan masalah yang sangat kompleks.
Bahasa natural tidak mampu merepresentasikan alur runtunan yang bersifat dari atas ke bawah.
Jika Anda membangun sistem diskon: 'Belanja > 500rb diskon 20%, Belanja > 200rb diskon 10%'. Jika variabel total bernilai 600rb, manakah urutan evaluasi yang paling efisien dalam algoritma?
Memeriksa kondisi 200rb terlebih dahulu agar semua rentang belanja dapat tercover sistem.
Menggunakan perulangan untuk memeriksa setiap angka dari nol sampai total belanja akhir.
Menghitung rata-rata dari kedua diskon tersebut sebelum diterapkan pada total belanja.
Memeriksa kondisi 500rb terlebih dahulu agar nilai terbesar langsung mendapat diskon tertinggi.
Menggabungkan kedua kondisi menggunakan operator AND agar sistem lebih presisi saat bekerja.
Dalam diagram alir (flowchart), simbol manakah yang wajib digunakan saat program perlu meminta pengguna untuk memasukkan nama mereka melalui keyboard?
Persegi Panjang, karena proses pemasukan nama dianggap sebagai aksi pemrosesan data.
Oval, karena setiap proses interaksi dengan pengguna harus diawali dengan tanda terminator.
Belah Ketupat, karena sistem harus memutuskan apakah nama yang dimasukkan valid atau tidak.
Jajar Genjang, karena berfungsi untuk merepresentasikan input atau output data eksternal.
Lingkaran kecil, karena input dari keyboard dianggap sebagai penghubung antar halaman.
Mengapa penggunaan Array dianggap jauh lebih efisien untuk menyimpan data 50 nilai siswa dibandingkan menggunakan 50 variabel berbeda?
Array memungkinkan pengelolaan data massal menggunakan satu nama variabel dan perulangan.
Array tidak memakan ruang memori sama sekali di dalam perangkat keras komputer.
Array mempercepat proses booting komputer karena struktur datanya sangat sederhana sekali.
Array bisa menyimpan tipe data yang berbeda-beda dalam satu wadah yang sama sekaligus.
Array secara otomatis memperbaiki nilai yang salah dimasukkan oleh pengguna sistem.
Diberikan pernyataan: 'Jika hari ini hujan, maka jalanan basah'. Manakah pernyataan di bawah ini yang merupakan negasi yang benar dari implikasi tersebut dalam logika matematika?
Jika jalanan basah, maka hari ini hujan karena urutan akibat dan penyebabnya dibalik.
Hari ini mendung dan jalanan kering karena cuaca tidak selalu menghasilkan air hujan.
Hari ini tidak hujan atau jalanan basah sebagai bentuk penyederhanaan dari nilai logika.
Jika hari ini tidak hujan, maka jalanan tidak basah karena penyebabnya telah dihilangkan.
Hari ini hujan dan jalanan tidak basah, karena membuktikan syarat terpenuhi tapi hasil tidak.
Seorang programmer ingin membuat perulangan yang akan berhenti jika variabel counter mencapai nilai 100 atau variabel status bernilai 'selesai'. Operator logika manakah yang tepat digunakan dalam kondisi WHILE?
Operator OR, karena perulangan akan berhenti jika salah satu dari kondisi tersebut terpenuhi.
Operator Implikasi, karena tercapainya angka seratus berakibat pada selesainya status program.
Kurang tepat
Operator Biimplikasi, agar nilai counter dan status selalu sinkron selama proses eksekusi.
Operator AND, karena perulangan harus terus berjalan selama kedua syarat penghenti belum ada.
Operator NOT, karena fungsi utamanya adalah membatalkan nilai variabel yang sudah mencapai batas.
Ciri khas utama dari Struktur Runtunan (Sequence) yang membedakannya dari struktur kontrol lainnya adalah...
Variabel dideklarasikan di awal dan tidak boleh diubah nilainya selama program berjalan.
Blok instruksi yang sama dapat dijalankan berulang kali untuk menghemat penulisan kode.
Instruksi dijalankan tepat satu kali dan urutannya bersifat kritis terhadap hasil akhir.
Alur program selalu berhenti secara otomatis tanpa perlu adanya titik akhir yang jelas.
Program dapat memilih jalur alternatif jika instruksi pertama gagal dieksekusi oleh mesin.
Analogi jam dinding di mana jarum menit baru bergerak satu langkah setelah jarum detik berputar 60 kali paling tepat menggambarkan konsep...
Nested Loop (Perulangan Bersarang), di mana inner loop harus tuntas untuk setiap iterasi outer loop.
Parallel Processing, karena jarum detik dan jarum menit bergerak secara bersamaan setiap saat.
Array Multidimensi, karena jam memiliki beberapa dimensi waktu yang berbeda-beda skalanya.
Recursive Algorithm, karena waktu terus berulang kembali ke angka satu setelah mencapai dua belas.
Multi-level Selection, di mana banyak keputusan diambil secara simultan oleh sistem komputer.
Mengapa kalimat 'Masakan ini sangat lezat' tidak dapat dikategorikan sebagai proposisi dalam logika matematika dan pemrograman?
Kalimat tersebut tidak memiliki subjek yang jelas sehingga sistem gagal melakukan pemetaan data.
Kalimat tersebut terlalu panjang sehingga sulit bagi komputer untuk mengevaluasi logikanya.
Kalimat tersebut merupakan kalimat perintah yang meminta seseorang untuk mencicipi makanan.
Kalimat tersebut bersifat subjektif/opini sehingga nilai kebenarannya tidak bisa dipastikan secara objektif.
Kalimat tersebut tidak mengandung angka atau simbol matematika yang diperlukan sistem.
Dalam pembuatan flowchart, apa fungsi utama dari simbol 'On-Page Connector' yang berbentuk lingkaran kecil?
Menunjukkan bahwa ada proses perhitungan matematika yang sangat rumit di dalam sistem.
Menghubungkan alur program yang berlanjut ke halaman kertas yang berbeda atau baru.
Menyambung alur yang terputus pada halaman yang sama agar tidak terjadi perpotongan garis
Mengawali perulangan yang jumlah iterasinya sudah diketahui secara pasti oleh programmer.
Menandai bahwa alur algoritma telah selesai dan hasil sudah siap ditampilkan di layar.
Seorang mahasiswa membuat array data[3] berisi {10, 20, 30}. Ia menjalankan perintah: data[0] = data[1] + data[2]. Berapakah isi dari data[0] sekarang?
Sepuluh, karena nilai asli dalam array tidak dapat diubah setelah dilakukan proses inisialisasi awal.
Enam puluh, karena sistem secara otomatis menjumlahkan seluruh elemen yang ada di dalam wadah.
Error, karena operasi penjumlahan tidak diperbolehkan dilakukan di antara elemen-elemen array.
Tiga puluh, karena nilai terbesar dalam array tersebut akan otomatis mendominasi hasil akhir.
Lima puluh, karena nilai indeks satu (20) ditambahkan dengan nilai indeks dua (30).
Jika sebuah kondisi dalam percabangan IF bernilai SALAH, dan tidak ada blok ELSE, apa yang akan dilakukan oleh program selanjutnya?
Program akan kembali ke baris paling atas untuk meminta masukan data baru dari pengguna.
Program akan berhenti seketika dan menampilkan pesan kesalahan pada layar monitor pengguna.
Program akan menunggu hingga kondisi tersebut berubah menjadi benar secara otomatis oleh sistem.
Program akan menjalankan instruksi secara acak dari bagian lain untuk menghindari kemacetan alur.
Program akan mengabaikan blok aksi tersebut dan langsung lanjut ke instruksi setelah blok IF.
Program akan kembali ke baris paling atas untuk meminta masukan data baru dari pengguna.
Program akan berhenti seketika dan menampilkan pesan kesalahan pada layar monitor pengguna.
Program akan menunggu hingga kondisi tersebut berubah menjadi benar secara otomatis oleh sistem
Program akan menjalankan instruksi secara acak dari bagian lain untuk menghindari kemacetan alur.
Program akan mengabaikan blok aksi tersebut dan langsung lanjut ke instruksi setelah blok IF.
Evaluasi tabel kebenaran untuk operator Implikasi (p→q). Kondisi manakah yang merupakan satu-satunya cara untuk menghasilkan nilai Salah?
Ketika p (premis) bernilai Salah, sehingga kesimpulan q tidak dapat ditentukan nilainya.
Ketika kedua proposisi p dan q sama-sama bernilai Salah di dalam tabel kebenaran.
Ketika p (premis) bernilai Benar, namun q (kesimpulan) yang dihasilkan bernilai Salah.
Ketika salah satu dari p atau q memiliki nilai yang tidak stabil atau berubah-ubah terus.
Ketika q (kesimpulan) bernilai Benar tanpa memperhatikan apakah p bernilai Benar atau Salah.
Diberikan array X[4] = {5, 10, 15, 20}. Jika dilakukan operasi X[1] = X[3] kemudian X[3] = X[0], berapakah isi akhir dari array tersebut?
{5, 20, 15, 5}
{20, 20, 15, 5}
{5, 10, 15, 20}
{5, 20, 15, 20}
