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...

Tugas Pertemuan 13 - Abstract Class

Tugas Pertemuan 13 - Abstract Class

Program Makhluk Hidup


Source Code : Link Github

Implementasi extends pada program ini digunakan untuk mewarisi kelas abstrak MakhlukHidup ke kelas Manusia, Hewan, dan Tumbuhan. Kelas turunan wajib mengimplementasikan metode abstrak berdiri() sesuai dengan ciri khas masing-masing makhluk hidup. Hal ini memungkinkan setiap kelas untuk mendefinisikan cara berdiri yang berbeda, misalnya manusia berdiri dengan dua kaki, hewan dengan kaki, dan tumbuhan dengan akar. Dengan polimorfisme, objek-objek turunan dapat diperlakukan sebagai objek MakhlukHidup, sehingga metode umum seperti oksigen() dapat dipanggil tanpa mengetahui jenis spesifik objek.

Kelas Makhluk Hidup

Kelas MakhlukHidup adalah kelas abstrak yang mendefinisikan ciri umum makhluk hidup

  1. Metode Abstrak berdiri() : Harus diimplementasikan oleh kelas turunan (Manusia, Hewan, Tumbuhan).
  2. Metode oksigen() : Mencetak kebutuhan dasar semua makhluk hidup: makanan, oksigen, dan air.

Kelas ini digunakan sebagai dasar untuk kelas turunan yang mewakili berbagai jenis makhluk hidup.

Kelas Manusia

  1. Extends MakhlukHidup : Kelas Manusia adalah turunan dari kelas abstrak MakhlukHidup, sehingga wajib mengimplementasikan metode abstrak berdiri().
  2. Atribut duaKaki : Atribut duaKaki adalah variabel bertipe String yang merepresentasikan cara berdiri manusia (menggunakan dua kaki).
  3. Konstruktor : Konstruktor menerima parameter duaKaki untuk menginisialisasi atribut duaKaki.
  4. Metode berdiri() : Mengimplementasikan metode abstrak berdiri() dari kelas MakhlukHidup dengan mencetak cara berdiri manusia

Kelas Hewan

  1. Extends MakhlukHidup : Kelas Hewan adalah turunan dari kelas abstrak MakhlukHidup, sehingga wajib mengimplementasikan metode abstrak berdiri().
  2. Atribut kakiEmpat dan kakiDua : kakiEmpat dan kakiDua adalah atribut bertipe String yang digunakan untuk merepresentasikan jenis kaki hewan, misalnya hewan berkaki empat (kambing) dan berkaki dua (ayam).
  3. Konstruktor : Konstruktor menerima dua parameter, yaitu kakiEmpat dan kakiDua, untuk menginisialisasi atribut tersebut.
  4. Metode berdiri() : Mengimplementasikan metode abstrak berdiri() dari kelas MakhlukHidup dengan mencetak cara berdiri dua jenis hewan

Kelas Tumbuhan

  1. Extends MakhlukHidup : Kelas Tumbuhan merupakan turunan dari kelas abstrak MakhlukHidup, sehingga wajib mengimplementasikan metode abstrak berdiri().
  2. Atribut Akar : Atribut Akar adalah variabel bertipe String yang merepresentasikan cara tumbuhan berdiri (menggunakan akar).
  3. Konstruktor : Konstruktor menerima parameter Akar untuk menginisialisasi atribut Akar.
  4. Metode berdiri() : Mengimplementasikan metode abstrak berdiri() dengan mencetak cara tumbuhan berdiri, yaitu menggunakan akar

Kelas MainMakhlukHidup

  1. Metode cekMakhlukHidup : Metode ini menerima parameter bertipe MakhlukHidup dan memanggil dua metode pada objek tersebut :
    • berdiri() : Menampilkan cara berdiri dari objek yang diberikan.
    • oksigen() : Menampilkan kebutuhan dasar makhluk hidup (makanan, oksigen, air).
  2. Metode main : Membuat objek MainMakhlukHidup untuk memanggil metode cekMakhlukHidup. Menguji metode cekMakhlukHidup dengan tiga objek turunan dari MakhlukHidup :
    • Manusia : Menampilkan cara berdiri manusia (dua kaki) dan kebutuhan oksigen.
    • Hewan : Menampilkan cara berdiri hewan (kambing dengan empat kaki, ayam dengan dua kaki) dan kebutuhan oksigen.
    • Tumbuhan : Menampilkan cara berdiri tumbuhan (dengan akar) dan kebutuhan oksigen.

Diagram Kelas

Implementasi


Program Foxes and Rabbit


Source Code : Link Github

Program berikut mensimulasikan interaksi antara rubah dan kelinci dalam suatu grid menggunakan objek-objek yang saling berinteraksi. Kelas Simulator mengelola dunia simulasi, dengan membuat grid (Field) dan populasi hewan-hewan (Fox dan Rabbit) pada lokasi acak. Hewan-hewan tersebut bergerak atau bertindak setiap langkahnya melalui metode act, dengan rubah berburu kelinci dan kelinci bergerak ke lokasi kosong. Sifat yang digunakan dalam program ini adalah abstraksi, dengan mengaburkan detail implementasi dari setiap jenis hewan di dalam kelas Animal, serta enkapsulasi, dengan menyembunyikan data lokasi dan status hidup hewan di dalam kelas masing-masing, serta mengatur interaksi mereka dalam simulasi.

Kelas Animal

Kelas Location

Kelas Field

Kelas Simulator

Kelas Fox

Kelas Rabbit

Diagram Kelas

Implementasi

Komentar

Postingan Populer