Kamis, 30 Oktober 2025

Pertemuan 10 : Testing dan Debugging

Testing Sales Item PBO (Pertemuan 10)

Pemrograman Berbasis Objek (PBO)
Nama: Hosea Felix Sanjaya
NRP: 5025241177
Kelas: B
Tahun: 2025


Testing Class Comment di Java

Halo semuanya! 👋
Pada kesempatan kali ini, saya mau membahas tentang pengujian (testing) untuk sebuah class sederhana bernama Comment.
Class ini dirancang untuk merepresentasikan sebuah komentar pengguna, misalnya dalam sistem ulasan (review system) pada aplikasi e-commerce atau forum diskusi.

Tujuan Class

Class Comment memiliki fungsi utama untuk menyimpan informasi berikut:

  • Author (Penulis komentar)
  • Text (Isi komentar)
  • Rating (Penilaian dalam skala 1–5)
  • Votes (Jumlah suara atau dukungan)

Selain menyimpan data, class ini juga mendukung operasi sederhana seperti:

  • upvote() → menambah satu suara positif.
  • downvote() → mengurangi satu suara.

Kode Program Class Comment

/**
 * Write a description of class Comment here.
 *
 * @author Hosea Felix Sanjaya
 * @version 30 Oct 2025
 */
public class Comment {
    private String author;
    private String text;
    private int rating;
    private int votes;
    
    public Comment(String author, String text, int rating) {
        this.author = author;
        this.text = text;
        this.rating = rating;
        this.votes = 0;
    }
    
    public String getAuthor() {
        return author;
    }

    public String getText() {
        return text;
    }

    public int getRating() {
        return rating;
    }

    public int getVoteCount() {
        return votes;
    }
    
    public void upvote() {
        votes++;
    }

    public void downvote() {
        votes--;
    }
    
    public String getFullDetails() {
        return "Author: " + author + "\n" +
               "Rating: " + rating + "/5\n" +
               "Votes: " + votes + "\n" +
               "Comment: " + text;
    }
}

Class Testing: CommentTester

Untuk menguji fungsionalitas class Comment, kita buat class lain bernama CommentTester.
Class ini akan membuat objek Comment, menampilkan detailnya, dan mencoba melakukan voting.

/**
 * Class untuk mengetes Comment class.
 *
 * @author Hose
 * @version 30 Oct 2025
 */
public class CommentTester {
    public static void main(String[] args) {
        // Membuat objek comment
        Comment comment1 = new Comment("Hosea", "Produk ini sangat bagus!", 5);
        
        // Menampilkan detail awal
        System.out.println("=== Detail Awal ===");
        System.out.println(comment1.getFullDetails());
        
        // Melakukan voting
        comment1.upvote();
        comment1.upvote();
        comment1.downvote();
        
        // Menampilkan hasil setelah voting
        System.out.println("\n=== Setelah Voting ===");
        System.out.println(comment1.getFullDetails());
    }
}

Hasil Output

=== Detail Awal ===
Author: Hosea
Rating: 5/5
Votes: 0
Comment: Produk ini sangat bagus!

=== Setelah Voting ===
Author: Hosea
Rating: 5/5
Votes: 1
Comment: Produk ini sangat bagus!

Dokumentasi







Tidak ada komentar:

Posting Komentar

Pertemuan 15 : Aplikasi CRUD JAVA

Pertemuan 15 - Java CRUD Database Tanggal: 9 Desember 2025 Nama: Hosea Felix Sanjaya NRP: 5025241177 a. Setup & Persiapan Envi...