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 11 - Aplikasi Network (Post & Like)

Tugas Pertemuan 11
- Aplikasi Network (Post and Like)

Link Source Code : Link Github

Kelas Post

Link Source Code : Link Github

Kelas Post merepresentasikan sebuah postingan yang dibuat oleh pengguna (User) di suatu platform, dengan atribut yang mencakup pengarang (author), konten postingan (content), dan daftar pengguna yang menyukai postingan tersebut (likes). Konstruktornya menerima author dan content sebagai parameter dan menginisialisasi daftar likes sebagai list kosong menggunakan ArrayList. Kelas ini menyediakan beberapa metode untuk mengakses data postingan, seperti getContent(), getAuthor(), dan getLikes() untuk mengambil konten, pengarang, dan daftar penyuka postingan. Metode addLike(User user) memungkinkan pengguna lain untuk menyukai postingan tersebut, menambahkan User ke daftar likes, dan menampilkan pesan jika pengguna belum ada dalam daftar tersebut. Terakhir, getLikeCount() mengembalikan jumlah suka pada postingan ini, yang dihitung dengan mengambil ukuran dari list likes.



Kelas User

Link Sorce Code : Link Github

Kelas User merepresentasikan pengguna pada suatu platform yang memungkinkan pengguna membuat postingan (Post) dan menyukai postingan milik pengguna lain. Kelas ini memiliki atribut username sebagai identitas pengguna dan posts sebagai daftar postingan yang dibuat oleh pengguna tersebut, diinisialisasi dengan ArrayList. Konstruktor User menerima username sebagai parameter dan menginisialisasi daftar posts sebagai list kosong. Metode getUsername() mengembalikan username pengguna, sedangkan addPost(String content) memungkinkan pengguna untuk membuat postingan baru dengan konten tertentu, yang kemudian ditambahkan ke dalam daftar posts. Setiap kali postingan dibuat, pesan notifikasi akan dicetak di konsol. Metode likePost(Post post) memungkinkan pengguna untuk menyukai postingan dengan memanggil metode addLike() pada objek Post. Terakhir, getPosts() mengembalikan daftar seluruh postingan yang dibuat oleh pengguna ini.



Kelas Network

Link Source Code : Link Gihtub

Kelas Network merepresentasikan jaringan sosial yang berfungsi untuk mengelola pengguna (User) dan postingan (Post). Kelas ini memiliki dua atribut utama: users, yaitu daftar semua pengguna dalam jaringan, dan posts, yaitu daftar semua postingan yang dibuat oleh pengguna. Konstruktor Network menginisialisasi kedua atribut tersebut sebagai list kosong menggunakan ArrayList. Metode addUser(String username) memungkinkan penambahan pengguna baru ke dalam jaringan dengan menciptakan objek User baru, menambahkannya ke daftar users, dan menampilkan pesan konfirmasi. Metode addPost(Post post) memungkinkan postingan baru ditambahkan ke daftar posts. Metode showAllPosts() menampilkan seluruh postingan dalam jaringan beserta informasi pengarang dan jumlah suka yang diterima oleh masing-masing postingan, memberikan gambaran aktivitas di jaringan secara keseluruhan.



Kelas Main

Link Source Code : Link Github

Kelas Main berfungsi sebagai titik awal program untuk menguji fungsionalitas kelas Network, User, dan Post. Di dalam metode main, pertama-tama dibuat objek Network bernama network untuk merepresentasikan jaringan sosial. Kemudian, dua pengguna baru ditambahkan ke jaringan dengan nama "Alice" dan "Bob" menggunakan metode addUser, dan masing-masing objek User yang mewakili pengguna tersebut disimpan dalam variabel alice dan bob. Setelah itu, kedua pengguna ini membuat postingan mereka masing-masing melalui metode addPost, dan postingan pertama mereka disimpan di jaringan dengan menggunakan network.addPost untuk dimasukkan ke dalam daftar posts di Network. Selanjutnya, Bob menyukai postingan Alice dan Alice menyukai postingan Bob dengan memanggil metode likePost. Terakhir, metode showAllPosts() dipanggil untuk menampilkan semua postingan dalam jaringan, termasuk nama pengarang, konten postingan, dan jumlah suka yang diterima masing-masing postingan.


Diagram Kelas


Membuat User Baru

  • User bernama Christo sebagai user1
  • User bernama Indra sebagai user2

Membuat Postingan

  • User bernama Christo membuat Postingan sebagai post1

Melakukan Like ke Postingan

  • User bernama Christo melakukan Like ke Postingan Christo (post1)
  • User bernama Indra melakukan Like ke Postingan Christo (post1)

Menampilkan Jumlah Like dari Postingan

  • Jumlah Like post1 adalah 2, di Like oleh User Christo dan Indra

Komentar

Postingan Populer