ATS TEORI
Pemrograman Berbasis Komputer — MK224
Mata Kuliah: Pemrograman Berbasis Komputer Program Studi Teknik Mekatronika Genap 2025/2026
Informasi Mata Kuliah
| Atribut | Keterangan |
|---|---|
| Mata Kuliah | Pemrograman Berbasis Komputer (MK224) |
| Program Studi | Teknik Mekatronika |
| Semester | Genap 2025/2026 |
| SKS | 3 SKS |
| Asesmen | Asesmen Tengah Semester (ATS) |
| Cakupan Materi | Pertemuan 1 – 7 (TP-1 s.d. TP-8) |
| Sifat Ujian | Tertulis (Closed Book) |
| Waktu | 60 menit |
| Dosen Pengampu | Muhammad Veven |
Pemetaan Tujuan Pembelajaran (TP)
| Kode TP | Tujuan Pembelajaran |
|---|---|
| TP-1 | Memahami dan menggunakan pemrograman berbasis Visual (Visual C#) — OOP, Class, IDE, Console. |
| TP-2 | Mengimplementasikan pseudo code ke dalam program. |
| TP-3 | Mengimplementasikan operasi aritmatika. |
| TP-4 | Mengimplementasikan operasi perbandingan (percabangan). |
| TP-5 | Mengimplementasikan operasi perulangan (loop). |
| TP-6 | Mengimplementasikan array ke dalam program. |
| TP-7 | Membangun aplikasi yang dapat terkoneksi dengan perangkat lain melalui serial port. |
| TP-8 | Mengimplementasikan file atau basis data sebagai penyimpan data. |
Petunjuk Pengerjaan
- Berdoalah sebelum mengerjakan soal. Tuliskan identitas Anda pada lembar yang tersedia.
- Soal terdiri dari 3 bagian: (A) 15 Pilihan Ganda, (B) 5 Esai, (C) 5 Studi Kasus Praktikum (lengkapi kode).
- Bobot: Pilihan Ganda 30%, Esai 30%, Praktikum 40%.
- Setiap soal mencantumkan kode TP — gunakan untuk menelusuri kembali materi yang relevan.
- Untuk soal praktikum, kerjakan to-do list secara berurutan dan tuliskan kode di tempat yang disediakan (atau di lembar tambahan).
- Dilarang membuka catatan, gawai, atau berkomunikasi dengan peserta lain. Pelanggaran berakibat nilai E.
- Bekerjalah dengan tenang, teliti, dan jujur. Selamat mengerjakan.
BAGIAN A — PILIHAN GANDA
Pilih jawaban yang paling tepat dengan memberi tanda silang (X) pada huruf A, B, C, atau D.
Soal 1 [TP-1] (2 poin)
Manakah pernyataan berikut yang paling tepat menggambarkan perbedaan antara bahasa C dan C#?
- A. C# bersifat prosedural, sedangkan C berorientasi objek.
- B. C bersifat prosedural dan tidak mengenal class, sedangkan C# berorientasi objek dan mendukung class.
- C. C dan C# sama-sama mendukung class, hanya berbeda sintaks.
- D. C# tidak dapat dipakai untuk aplikasi konsol, hanya untuk aplikasi GUI.
Soal 2 [TP-1] (2 poin)
Komponen .NET Framework yang berfungsi menjalankan aplikasi C# yang sudah dikompilasi (dalam bentuk CIL) disebut...
- A. FCL (Framework Class Library)
- B. JVM (Java Virtual Machine)
- C. CLR (Common Language Runtime)
- D. ADO.NET
Soal 3 [TP-1] (2 poin)
Diberikan potongan kode berikut:
class Mobil {
private int kecepatan;
public Mobil() { kecepatan = 0; }
public void setKecepatan(int k) { kecepatan = k; }
public int getKecepatan() { return kecepatan; }
}
Method Mobil() pada baris ke-3 disebut...
- A. Destructor
- B. Getter
- C. Konstruktor (Constructor)
- D. Inisialisasi statis
Soal 4 [TP-2] (2 poin)
Perhatikan pseudo code berikut:
BACA nilai
JIKA nilai >= 60 MAKA
TULIS "LULUS"
SELAIN ITU
TULIS "TIDAK LULUS"
Implementasi C# yang paling tepat dari pseudo code di atas adalah...
- A.
if (nilai >= 60) { Console.WriteLine("LULUS"); } else { Console.WriteLine("TIDAK LULUS"); } - B.
if (nilai > 60) Console.Write("LULUS") else Console.Write("TIDAK LULUS"); - C.
while (nilai >= 60) Console.WriteLine("LULUS"); - D.
switch(nilai) { case 60: "LULUS"; default: "TIDAK LULUS"; }
Soal 5 [TP-2] (2 poin)
Untuk membaca input dari keyboard pada aplikasi konsol C#, fungsi yang tepat adalah...
- A.
Console.Read() - B.
Console.ReadLine() - C.
Scanner.next() - D.
System.in.read()
Soal 6 [TP-3] (2 poin)
Perhatikan kode berikut:
int a = 7;
int b = 2;
double hasil = a / b;
Console.WriteLine(hasil);
Berapakah nilai yang akan ditampilkan?
- A. 3.5
- B. 3
- C. 3.0
- D. 3,5
Soal 7 [TP-3] (2 poin)
Untuk mengkonversi string "123" yang berasal dari TextBox menjadi tipe data int, kode yang TEPAT adalah...
- A.
int x = (int)"123"; - B.
int x = Convert.ToInt32(textBox1.Text); - C.
int x = textBox1.Text.toInt(); - D.
int x = Integer.parseInt(textBox1.Text);
Soal 8 [TP-4] (2 poin)
Pada aplikasi WinForm, untuk mengetahui apakah sebuah RadioButton terpilih, properti yang harus diperiksa adalah...
- A.
radioButton1.Selected - B.
radioButton1.IsChecked - C.
radioButton1.Checked - D.
radioButton1.Value
Soal 9 [TP-4] (2 poin)
Komponen GUI mana yang paling tepat untuk MENGELOMPOKKAN beberapa RadioButton agar bersifat mutually exclusive (hanya satu yang dapat dipilih)?
- A. Panel
- B. TabControl
- C. GroupBox
- D. ListBox
Soal 10 [TP-5] (2 poin)
Perhatikan kode berikut:
int total = 0;
for (int i = 1; i <= 5; i++) {
total += i;
}
Console.WriteLine(total);
Output yang dihasilkan adalah...
- A. 10
- B. 15
- C. 20
- D. 25
Soal 11 [TP-5] (2 poin)
Perulangan yang akan SELALU dijalankan minimal satu kali walaupun kondisinya bernilai false di awal adalah...
- A.
for - B.
while - C.
do-while - D.
foreach
Soal 12 [TP-6] (2 poin)
Cara mendeklarasikan dan menginisialisasi array berisi 5 nilai integer (10, 20, 30, 40, 50) di C# yang BENAR adalah...
- A.
int arr[] = new int{10,20,30,40,50}; - B.
int[] arr = {10,20,30,40,50}; - C.
array<int> arr = (10,20,30,40,50); - D.
List arr[5] = [10,20,30,40,50];
Soal 13 [TP-6] (2 poin)
Untuk mengetahui banyaknya elemen pada array bernama data di C#, properti yang dipakai adalah...
- A.
data.size() - B.
data.Count - C.
data.Length - D.
sizeof(data)
Soal 14 [TP-7] (2 poin)
Pada aplikasi C# yang berkomunikasi dengan mikrokontroler melalui serial port, kelas yang umum digunakan adalah...
- A.
System.IO.SerialPort - B.
System.IO.Ports.SerialPort - C.
System.Net.SerialClient - D.
System.Devices.UART
Soal 15 [TP-8] (2 poin)
Untuk menulis data secara berurutan ke dalam sebuah file teks (data logging) di C#, kelas yang paling tepat digunakan adalah...
- A.
FileReader - B.
StreamReader - C.
StreamWriter - D.
BinaryReader
BAGIAN B — ESAI
Jawablah pertanyaan berikut secara jelas dan ringkas pada lembar jawaban.
Esai 1 [TP-1] (6 poin)
Jelaskan dengan kata-kata Anda sendiri perbedaan antara Class dan Object dalam OOP. Berikan analogi yang mudah dipahami serta contoh sederhana berupa kode C# (deklarasi class dan pembuatan object-nya).
Esai 2 [TP-3 & TP-4] (6 poin)
Buatlah pseudo code dan implementasi C# untuk sebuah aplikasi konsol yang menerima nilai ujian (0–100) dari user, lalu menampilkan grade-nya berdasarkan ketentuan: A (≥85), B (75–84), C (60–74), D (<60). Validasi juga apabila input di luar rentang 0–100.
Esai 3 [TP-5] (6 poin)
Jelaskan perbedaan antara struktur perulangan for, while, dan do-while. Berikan satu contoh kasus pemakaian yang paling cocok untuk masing-masing perulangan tersebut beserta potongan kode C# singkat.
Esai 4 [TP-6] (6 poin)
Diberikan sebuah array berisi nilai mahasiswa: {78, 92, 65, 88, 70, 95, 60}. Tuliskan kode C# untuk:
- (a) menghitung rata-rata nilai,
- (b) mencari nilai tertinggi,
- (c) menghitung berapa banyak mahasiswa yang lulus (nilai ≥ 70).
Sertakan penjelasan singkat untuk setiap bagian.
Esai 5 [TP-7 & TP-8] (6 poin)
Sebuah aplikasi C# perlu menerima data suhu setiap detik dari sensor pada Arduino melalui port serial COM3 (baud rate 9600), kemudian menyimpan data tersebut beserta timestamp ke dalam file CSV bernama log_suhu.csv. Jelaskan langkah-langkah dan komponen/kelas .NET apa saja yang diperlukan untuk membangun aplikasi ini (tidak perlu kode lengkap, cukup arsitektur dan alur kerjanya).
Rekap Bobot Penilaian
| Bagian | Jumlah Soal | Bobot/Soal | Total Bobot |
|---|---|---|---|
| A. Pilihan Ganda | 15 | 2 poin | 30 poin |
| B. Esai | 5 | 6 poin | 30 poin |
| C. Praktikum (Studi Kasus) | 5 | 8 poin | 40 poin |
| TOTAL | 25 | — | 100 poin |
Pemetaan Soal terhadap TP
| Kode TP | Soal yang Mengukur |
|---|---|
| TP-1 | PG 1, 2, 3 | Esai 1 | Praktikum 1 |
| TP-2 | PG 4, 5 | Esai 2 | Praktikum 2 |
| TP-3 | PG 6, 7 | Esai 2 | Praktikum 1 |
| TP-4 | PG 8, 9 | Esai 2 | Praktikum 2 |
| TP-5 | PG 10, 11 | Esai 3 | Praktikum 3 |
| TP-6 | PG 12, 13 | Esai 4 | Praktikum 4 |
| TP-7 | PG 14 | Esai 5 | Praktikum 5 |
| TP-8 | PG 15 | Esai 5 | Praktikum 5 |
— Selamat Mengerjakan —