Postingan

Church-Turing Thesis dan kaitannya dengan Bahasa pemrograman

 Nama     :     Muhammad Shafa Narariya      NRP          :     5025231016 Kelas         :     Otomata E Pendahuluan Sejak awal kemunculannya, dunia komputasi terus berkembang pesat. Namun, di balik kemajuan perangkat keras dan lunak yang canggih, ada pertanyaan fundamental yang melandasi semua upaya ini: Apa batasan inheren dari komputasi itu sendiri? Bisakah setiap masalah diselesaikan oleh sebuah mesin? Pertanyaan ini dijawab oleh Church-Turing Thesis , sebuah gagasan sentral dalam ilmu komputer yang mengklaim bahwa semua bentuk komputasi 'efektif' pada dasarnya setara. Tesis ini tidak hanya membentuk tulang punggung teori komputasi, tetapi juga memiliki implikasi besar terhadap perancangan dan pemahaman bahasa pemrograman . Memahami konsep Turing complete dan Turing equivalent memungkinkan kita mengenali kapasitas sejati suatu bahasa, membedakan alat yang mampu melakukan ...

Evaluasi Akhir Semester - Aplikasi Game PacMan

Gambar
Nama    :     Muhammad Shafa Narariya NRP        :     5025231016 Kelas     :     G Source Code :  https://github.com/ItsPong/EAS-PBO 1.  Apa yang dimaksud dengan Inheritance dalam Java. Bagaimana implementasi inheritance dalam Final Project yang sedang dikerjakan. Inheritance adalah konsep dalam pemrograman berorientasi objek yang memungkinkan sebuah kelas untuk mewarisi properti dan metode dari kelas lain. Implementasi Inheritance dalam final project adalah sebagai berikut : Buat Superclass Entity Properti dan metode umum seperti x, y, width , height , image , updateDirection() , dan collision() dapat dipindahkan ke superclass Entity . Subclass untuk Entitas Khusus PacMan dan Ghost dapat menjadi subclass dari Entity . 2.  Jelaskan fitur Aplikasi yang ada dalam Final Project - Papan Permainan (Tile Map): Aplikasi memiliki papan permainan berbentuk grid yang terdiri dari dinding, makanan, Pac-Ma...

Tugas 12 - Sistem Reservasi Tiket Pesawat

Gambar
  Nama   : Muhammad Shafa Narariya NRP   : 5025231016 Link Code :  https://github.com/ItsPong/Tugas12 Sistem Reservasi Tiket Pesawat Polymorphism diterapkan pada Metode calculateFare() dan displayInfo() dioverride di setiap subclass untuk perilaku yang berbeda sesuai dengan jenis tiket. Polimorfisme memungkinkan metode yang sama di superclass (Ticket) memiliki implementasi berbeda di subclass (EconomyTicket, BusinessTicket, dan FirstClassTicket). Kelas  Ticket  (Superclass): Atribut: penumpang: Nama penumpang. hargaDasar: Harga dasar tiket. Metode: calculateFare(): Metode dasar untuk menghitung tarif, akan dioverride di subclass sesuai dengan jenis tiket. displayInfo(): Menampilkan informasi tiket, termasuk penumpang, harga dasar, dan tarif akhir. Fungsi: Menyediakan kerangka dasar untuk kelas tiket lainnya (Economy, Business, First Class). Kelas  EconomyTicket  (Subclass): ...

Tugas 11 - Impelemtasi Inheritance Network dan Rental Mobil

Gambar
  Source Code :  https://github.com/ItsPong/Tugas11 nama : Muhammad Shafa Narariya NRP : 50525231016 Explanation:   Network 1. Kelas Post Kelas ini mewakili sebuah postingan di jaringan sosial. Atribut : User author : Penyusun atau pembuat postingan. String content : Isi atau konten dari postingan. List<User> likes : Daftar pengguna yang menyukai postingan ini. Konstruktor : Post(User author, String content) : Membuat sebuah postingan dengan penulis tertentu dan konten yang diberikan. Daftar like awalnya kosong. Metode : getContent() : Mengembalikan konten dari postingan. getAuthor() : Mengembalikan penulis postingan. getLikes() : Mengembalikan daftar pengguna yang menyukai postingan. addLike(User user) : Menambahkan pengguna ke daftar like jika pengguna belum menyukai postingan tersebut. Jika berhasil, mencetak pesan tentang siapa yang menyukai postingan. getLikeCount() : Mengembalikan jumlah pengguna yang telah menyukai postingan. 2. Kelas User Kelas ini mewakili ...

Tugas Pertemuan 8

Gambar
 Nama     :     Muhammad Shafa Narariya NRP          :     5025231016 Kelas         :     G Implementasi Word Of Zull Source Code :  https://github.com/ItsPong/Tugas8 1. Command Kelas ini menyimpan informasi tentang perintah yang diberikan oleh pemain. Atribut : commandWord : Kata pertama dalam perintah (misalnya "go" dalam "go north"). secondWord : Kata kedua dalam perintah, jika ada (misalnya "north" dalam "go north"). Metode : Command(String firstWord, String secondWord) : Konstruktor yang menerima dua kata dan menetapkannya pada atribut commandWord dan secondWord . getCommandWord() : Mengembalikan commandWord . getSecondWord() : Mengembalikan secondWord . isUnknown() : Mengembalikan true jika commandWord tidak dikenali (nilai null ), yang menunjukkan bahwa perintah tidak valid. hasSecondWord() : Mengembalikan true jika ada secondWord , yang menunjukkan bahwa perintah memiliki dua ...

Tugas Pertemuan 6 -Tech Support System

Gambar
Nama : Muhammad Shafa Narariya NRP : 5025231016 Kelas : PBO (G) Tech Support System Source Code :  https://github.com/ItsPong/Tugas-SupportSystem.git Penjelasan Code :  1. Support System :  Variabel: InputReader reader : Untuk membaca input dari pengguna. Responder responder : Untuk menghasilkan tanggapan berdasarkan input pengguna. Konstruktor: Menginisialisasi objek InputReader dan Responder . Metode start() : Memulai sesi dukungan dengan mencetak pesan sambutan, lalu memasuki loop yang akan berjalan hingga pengguna mengetik "bye". Setiap input dari pengguna diproses dengan metode responder.generateResponse() untuk menghasilkan tanggapan. Metode printWelcome() : Mencetak pesan sambutan kepada pengguna. Metode printGoodbye() : Mencetak pesan selamat tinggal ketika pengguna mengakhiri sesi. 2. Responder :  Variabel: Random answerNum : Untuk menghasilkan tanggapan acak. String[] answers : Menyimpan daftar tanggapan yang tersedia. HashMap<String, Integer> keywo...

Tugas 5 Auction System

Gambar
  Nama : Muhammad Shafa Narariya NRP : 5025231016 Kelas : PBO  Membuat Auction Sistem Source Code :  https://github.com/ItsPong/Tugas-Auction.git Penjelasan :  Proyek ini adalah simulasi sederhana dari sistem lelang . Terdapat beberapa kelas yang bekerja sama untuk mengelola daftar lot (barang yang dilelang), penawaran (bid), dan peserta lelang (person). Berikut adalah penjelasan tiap kelas: Auction : Ini adalah kelas utama yang mengelola lelang. Menyimpan daftar lot ( ArrayList<Lot> ) dan mengelola penomoran lot berikutnya ( nextLotNumber ). Fungsi utama: enterLot(String description) : Menambahkan lot baru ke daftar lelang. showLots() : Menampilkan semua lot beserta penawaran tertinggi mereka (jika ada). makeABid(int lotNumber, Person bidder, long value) : Membuat penawaran untuk lot tertentu. Jika penawaran lebih tinggi dari penawaran tertinggi sebelumnya, penawaran akan berhasil. Jika tidak, penawaran akan gagal. getLot(int lotNumber) : Mendapatkan objek lot...