Skip to main content

ATS TEORI

Pemrograman Berbasis Komputer — MK224

Mata Kuliah: Pemrograman Berbasis Komputer Program Studi Teknik Mekatronika Genap 2025/2026

Informasi Mata Kuliah

AtributKeterangan
Mata KuliahPemrograman Berbasis Komputer (MK224)
Program StudiTeknik Mekatronika
SemesterGenap 2025/2026
SKS3 SKS
AsesmenAsesmen Tengah Semester (ATS)
Cakupan MateriPertemuan 1 – 7 (TP-1 s.d. TP-8)
Sifat UjianTertulis (Closed Book)
Waktu60 menit
Dosen PengampuMuhammad Veven

Pemetaan Tujuan Pembelajaran (TP)

Kode TPTujuan Pembelajaran
TP-1Memahami dan menggunakan pemrograman berbasis Visual (Visual C#) — OOP, Class, IDE, Console.
TP-2Mengimplementasikan pseudo code ke dalam program.
TP-3Mengimplementasikan operasi aritmatika.
TP-4Mengimplementasikan operasi perbandingan (percabangan).
TP-5Mengimplementasikan operasi perulangan (loop).
TP-6Mengimplementasikan array ke dalam program.
TP-7Membangun aplikasi yang dapat terkoneksi dengan perangkat lain melalui serial port.
TP-8Mengimplementasikan file atau basis data sebagai penyimpan data.

Petunjuk Pengerjaan

  1. Berdoalah sebelum mengerjakan soal. Tuliskan identitas Anda pada lembar yang tersedia.
  2. Soal terdiri dari 3 bagian: (A) 15 Pilihan Ganda, (B) 5 Esai, (C) 5 Studi Kasus Praktikum (lengkapi kode).
  3. Bobot: Pilihan Ganda 30%, Esai 30%, Praktikum 40%.
  4. Setiap soal mencantumkan kode TP — gunakan untuk menelusuri kembali materi yang relevan.
  5. Untuk soal praktikum, kerjakan to-do list secara berurutan dan tuliskan kode di tempat yang disediakan (atau di lembar tambahan).
  6. Dilarang membuka catatan, gawai, atau berkomunikasi dengan peserta lain. Pelanggaran berakibat nilai E.
  7. 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

BagianJumlah SoalBobot/SoalTotal Bobot
A. Pilihan Ganda152 poin30 poin
B. Esai56 poin30 poin
C. Praktikum (Studi Kasus)58 poin40 poin
TOTAL25100 poin

Pemetaan Soal terhadap TP

Kode TPSoal yang Mengukur
TP-1PG 1, 2, 3 | Esai 1 | Praktikum 1
TP-2PG 4, 5 | Esai 2 | Praktikum 2
TP-3PG 6, 7 | Esai 2 | Praktikum 1
TP-4PG 8, 9 | Esai 2 | Praktikum 2
TP-5PG 10, 11 | Esai 3 | Praktikum 3
TP-6PG 12, 13 | Esai 4 | Praktikum 4
TP-7PG 14 | Esai 5 | Praktikum 5
TP-8PG 15 | Esai 5 | Praktikum 5

— Selamat Mengerjakan —