Langsung ke konten utama

Unggulan

Church-Turing Thesis dan Kaitannya dengan Bahasa Pemrograman - Tugas Otomata W14

Daftar Isi Pendahuluan Pengertian dan Konsep Rumusan Masalah Turing Equivalent dan Turing Complete Manfaat Turing Equivalent dan Turing Complete Contoh Bahasa yang Turing Complete dan Penjelasannya Contoh Bahasa yang Tidak Turing Complete dan Penjelasannya Kesimpulan Pendahuluan Dalam dunia ilmu komputer, pemahaman tentang batasan dan kemampuan komputasi adalah fundamental. Salah satu konsep paling mendasar yang membentuk landasan teori komputasi adalah Church-Turing Thesis. Tesis ini, meskipun bukan sebuah teorema yang dapat dibuktikan secara matematis, merupakan hipotesis kuat yang menghubungkan konsep intuitif dari "algoritma" atau "komputabilitas efektif" dengan model komputasi formal seperti Turing Machine. Dengan memahami Church-Turing Thesis, kita dapat menggali lebih dalam tentang apa yang dapat dilakukan oleh komputer dan, yang tak kalah penting, apa yang tidak dapat mereka lakukan. Esai ini akan membahas pengertian, rumusan mas...

Evaluasi Tengah Semester

Evaluasi Tengah Semester

Source Code : Link Github

Soal 1

Jelaskan perbedaan antara kelas dan objek> dalam pemrograman berorientasi objek. Berikan contoh kode sederhana yang menunjukkan hubungan antar kelas dan objek.

Jawab :

Kelas (Class) : Kelas adalah cetak biru atau template yang mendefinisikan atribut (variabel) dan metode (fungsi) yang dimiliki oleh suatu objek. Kelas tidak memiliki data konkret, melainkan hanya mendefinisikan struktur dan perilaku.
Perumpamaan : Kelas itu seperti cetak biru rumah. Cetak biru tersebut menentukan bentuk, ukuran, dan desain rumah, tetapi belum ada rumah nyata yang dibangun dari cetak biru tersebut.
Objek (Object) : Objek adalah instansiasi dari kelas. Objek adalah representasi nyata atau wujud konkret dari kelas yang memiliki data yang spesifik. Setiap objek dari kelas yang sama memiliki struktur yang sama, tetapi data atau nilainya bisa berbeda-beda.
Perumpamaan : Objek adalah rumah yang sebenarnya dibangun dari cetak biru tadi. Setiap rumah mungkin memiliki warna cat yang berbeda atau perabotan yang berbeda, tetapi semuanya mengikuti desain dasar dari cetak biru.

Contoh :


Penjelasan :
Kelas : Mobil adalah kelas yang mendefinisikan atribut merk dan warna, serta metode tampilkanInfo() untuk menampilkan informasi mobil.
Objek : mobil1 dan mobil2 adalah objek yang dibuat dari kelas Mobil. Meskipun keduanya berasal dari kelas yang sama, mereka memiliki data yang berbeda—mobil1 adalah Toyota berwarna merah, sedangkan mobil2 adalah Honda berwarna biru.

Soal 2

Buatlah aplikasi CoffeeMachine yang menyediakan kopi dengan harga tertentu

Minuman.java


MesinKopi.java

JumpstartSmartCoffeeMaker.java

Hasil di Terminal

Penjelasan :

  • Class Minuman : Digunakan untuk merepresentasikan setiap minuman yang tersedia di mesin kopi. Setiap minuman memiliki nama dan harga.
  • Class MesinKopi : Mengatur proses pembuatan kopi, seperti menampilkan menu, memilih minuman, mengatur level gula, dan melakukan pembayaran.
  • Metode aturLevelGula : Meminta pengguna memilih level gula dari 1 hingga 5.
  • Metode lakukanPembayaran : Mensimulasikan pembayaran cashless dengan QR code.
  • Class JumpstartSmartCoffeeMaker (Main) : Menjalankan program utama, menampilkan menu, dan memproses pilihan pengguna.

Alur Penggunaan :
  1. Pengguna akan meletakkan gelas di mesin.
  2. Mesin menampilkan menu minuman dan meminta pengguna memilih.
  3. Pengguna memilih level gula dan melakukan pembayaran dengan QR code.
  4. Minuman akan disiapkan dalam waktu 60 detik.

Soal 3

Apa yang dimaksud dengan enkapsulasi dalam pemrograman berorientasi objek? Berikan contoh bagaimana enkapsulasi diterapkan dalam kelas menggunakan modifier private dan metode akses (getter dan setter)
Jawab :
Enkapsulasi adalah konsep di mana data dan metode yang terkait dengan data tersebut dibungkus atau "dikapsulkan" ke dalam satu unit, yaitu kelas. Data di dalam kelas biasanya dilindungi atau dibatasi aksesnya agar tidak bisa diubah secara sembarangan dari luar kelas, melainkan melalui metode yang telah disediakan.
Contoh Manajemen Siswa :
Siswa.java


ManajemenSiswa.java

Soal 4

Buatlah dua kelas, BankAccount dan Customer. Setiap objek Customer memiliki akun bank (BankAccount). Buatlah metode dalam Customer yang memungkinkan nasabah untuk melakukan penyetoran (deposit) dan penarikan (withdraw) melalui akun bank mereka. Pastikan interaksi terjadi melalui metode dalam Customer.
Jawab : BankAccount.java


Customer.java

Penjelasan :
  • Metode setor dan tarik digunakan untuk menyetor dan menarik uang dari akun.
  • Metode setorKeAkun dan tarikDariAkun pada kelas Customer memungkinkan nasabah untuk berinteraksi dengan akun bank mereka.

Soal 5

Buatlah Desain Class Diagram untuk Trip Application yang digunakan untuk mengelola perjalanan. Setiap perjalanan memiliki atribut destination, distance, dan costPerkm. Fitur aplikasi sebagai berikut :

  • Menghitung total biaya perjalanan berdasarkan jarak dan biaya per kilometer
  • Menambah penumpang dan mencetak daftar penumpang
  • Membatalkan perjalanan jika penumpang kurang dari jumlah minimum

Jawab :
Passenger.java

Trip.java

Diagaram Kelas :

Video Penjelasan Youtube

Komentar

Postingan Populer