{"id":25625178,"url":"https://github.com/sulhanfuadi/pbo-class","last_synced_at":"2026-06-06T10:30:17.906Z","repository":{"id":278525996,"uuid":"935874790","full_name":"sulhanfuadi/pbo-class","owner":"sulhanfuadi","description":"This repository offers practical Java examples and assignments to explore core Object-Oriented Programming concepts. ","archived":false,"fork":false,"pushed_at":"2025-02-20T08:09:54.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T09:25:34.021Z","etag":null,"topics":["oop","oops-in-java","pbo"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sulhanfuadi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-20T06:50:06.000Z","updated_at":"2025-02-20T08:09:57.000Z","dependencies_parsed_at":"2025-02-20T09:25:36.089Z","dependency_job_id":"474d5318-1f51-47e1-bcf2-b033cb42d114","html_url":"https://github.com/sulhanfuadi/pbo-class","commit_stats":null,"previous_names":["sulhanfuadi/pbo-class"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sulhanfuadi%2Fpbo-class","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sulhanfuadi%2Fpbo-class/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sulhanfuadi%2Fpbo-class/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sulhanfuadi%2Fpbo-class/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sulhanfuadi","download_url":"https://codeload.github.com/sulhanfuadi/pbo-class/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240183764,"owners_count":19761440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oop","oops-in-java","pbo"],"created_at":"2025-02-22T14:08:58.025Z","updated_at":"2026-06-06T10:30:17.863Z","avatar_url":"https://github.com/sulhanfuadi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pbo-class\n\n**A repository containing various code examples and assignments for Object-Oriented Programming (PBO). This repository is dedicated to exploring and implementing core OOP concepts through practical Java code.**\n\n---\n\n## 📚 About This Project\n\nThe pbo-class repository is a collection of code examples and assignments focused on Object-Oriented Programming (PBO). The examples, originally developed as part of an assignment for a PBO course, demonstrate key concepts such as object creation, state manipulation, method invocation, and testing.\n\n\u003c!-- Key classes include [`Titik.java`](PBO01%20Object%20Orientation/object_orientation/src/Titik.java) (representing a point) and [`Garis.java`](PBO01%20Object%20Orientation/object_orientation/src/Garis.java) (representing a line). Additional programs like [`App.java`](PBO01%20Object%20Orientation/object_orientation/src/App.java), [`MTitik.java`](PBO01%20Object%20Orientation/object_orientation/src/MTitik.java), [`MTitikRefactored.java`](PBO01%20Object%20Orientation/object_orientation/src/MTitikRefactored.java), and [`MGaris.java`](PBO01%20Object%20Orientation/object_orientation/src/MGaris.java) serve to demonstrate and test these concepts. --\u003e\n\n---\n\n## 🚀 Getting Started\n\n### Clone the Repository\n\nTo begin, clone this repository to your local machine:\n\n```bash\ngit clone https://github.com/sulhanfuadi/pbo-class.git\ncd pbo-class\n```\n\n\u003c!-- ### Folder Structure\n\nThe repository is organized as follows:\n\n- **PBO01 Object Orientation/**\n  This folder contains the course materials for Object Orientation, including:\n  - **object_orientation/src/**: The source code files (.java)\n    - Examples: `Titik.java`, `Garis.java`, `App.java`, etc.\n  - **object_orientation/bin/**: The compiled output files (.class)\n  - **object_orientation/lib/**: Dependencies (if any)\n  - **object_orientation/.vscode/**: VS Code configuration files (e.g., `settings.json`) --\u003e\n\nEnsure that the paths in the VS Code settings are correctly configured for the Java compiler and output folder.\n\n### Building and Running\n\n1. Open the project in Visual Studio Code.\n2. Verify that Java and the VS Code Java extension are installed.\n3. Compile the source code by running the following command in the terminal:\n   ```bash\n   javac -d bin src/*.java\n   ```\n4. Run the main program, for example:\n   ```bash\n   java -cp bin App\n   ```\n\n\u003c!-- ---\n\n## 📖 Topics Covered\n\n1. **Titik (Point)**\n   Demonstrates point manipulation methods such as shifting, reflection, and distance calculation.\n   See: `Titik.java`\n\n2. **Garis (Line)**\n   Illustrates how to represent and operate on a line, including computations of length, gradient, midpoint, and checking for parallelism or perpendicularity.\n   See: `Garis.java`\n\n3. **Application and Testing**\n   - The main demonstration of the program is found in `App.java`.\n   - Point operations are tested in `MTitik.java` and `MTitikRefactored.java`.\n   - Line functionalities are explored in `MGaris.java`. --\u003e\n\n---\n\n## 🛠️ Contributing\n\nContributions are welcome! To contribute:\n\n1. Fork this repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b feature/your-feature\n   ```\n3. Commit your changes:\n   ```bash\n   git commit -m \"Add your feature description\"\n   ```\n4. Push your branch:\n   ```bash\n   git push origin feature/your-feature\n   ```\n5. Submit a pull request.\n\n---\n\n## 📜 License\n\nThis repository is licensed under the MIT License. Use, modify, and share the content according to the license terms.\n\n---\n\n## ✨ Acknowledgments\n\nSpecial thanks to the educators and practitioners in Object-Oriented Programming for inspiring and providing the material used in these assignments.\n\n---\n\nHappy coding and enjoy exploring Object-Oriented Programming with Java!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsulhanfuadi%2Fpbo-class","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsulhanfuadi%2Fpbo-class","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsulhanfuadi%2Fpbo-class/lists"}