{"id":26488310,"url":"https://github.com/novqigarrix/tubes_struktur_data","last_synced_at":"2026-05-16T11:31:55.101Z","repository":{"id":265667974,"uuid":"884319853","full_name":"NovqiGarrix/tubes_struktur_data","owner":"NovqiGarrix","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-02T12:16:13.000Z","size":64832,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-08T03:55:18.268Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/NovqiGarrix.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-06T14:39:56.000Z","updated_at":"2025-01-02T12:16:19.000Z","dependencies_parsed_at":"2025-09-15T02:49:58.280Z","dependency_job_id":null,"html_url":"https://github.com/NovqiGarrix/tubes_struktur_data","commit_stats":null,"previous_names":["novqigarrix/tubes_struktur_data"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NovqiGarrix/tubes_struktur_data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Ftubes_struktur_data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Ftubes_struktur_data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Ftubes_struktur_data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Ftubes_struktur_data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NovqiGarrix","download_url":"https://codeload.github.com/NovqiGarrix/tubes_struktur_data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Ftubes_struktur_data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-03-20T06:59:18.148Z","updated_at":"2026-05-16T11:31:55.083Z","avatar_url":"https://github.com/NovqiGarrix.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tugas Besar Mata Kuliah Struktur Data\n\n## Anggota Kelompok\n1. 21104065 - Novri Anto\n2. 21104066 - Doni ...\n3. 21104067 - Nurul ...\n4. 21104068 - Jefri ...\n\n## Deskripsi Singkat\nKelompok ini membuat simple music player dimana user dapat memilih lagu mana yang ingin diputar, ada fitur untuk playlist juga, dan aplikasi ini juga mampu memutar lagu-lagu yang sudah pernah diputar sebelumnya.\n\n### Fitur Aplikasi\n- [x] Play/Pause lagu\n- [x] Next lagu\n- [x] Previous lagu\n- [x] Menampilkan lagu yang sudah pernah diputar sebelumnya\n- [x] Menampilkan lagu yang bisa diputar\n\n## Struktur Data yang Digunakan\n1. Doubly Linked List - Untuk menyimpan data lagu di playlist\n2. Queue - Untuk menyimpan data lagu yang sudah pernah diputar sebelumnya\n\n## Prasyarat\nPastikan Anda memiliki perangkat lunak berikut terinstal di laptop Windows Anda:\n\n1. **Compiler C++**\n    - **Opsi 1: Visual Studio 2019 atau lebih baru**\n        - **Download:** [Unduh Visual Studio](https://visualstudio.microsoft.com/downloads/)\n        - **Instalasi:**\n            1. Jalankan installer Visual Studio.\n            2. Pilih workload \"**Desktop development with C++**\".\n            3. Klik \"Install\" dan tunggu hingga proses selesai.\n\n    - **Opsi 2: MinGW-w64 (GCC)**\n        - **Download:** [Unduh MinGW-w64](https://mingw-w64.org/doku.php/download)\n        - **Instalasi:**\n            1. Ekstrak file yang telah diunduh ke direktori pilihan Anda, misalnya `C:\\MinGW`.\n            2. Tambahkan `C:\\MinGW\\bin` ke variabel lingkungan PATH:\n                - Buka **Control Panel** \u003e **System and Security** \u003e **System**.\n                - Klik \"**Advanced system settings**\".\n                - Klik \"**Environment Variables**\".\n                - Di bagian \"**System variables**\", cari dan pilih variabel `Path`, lalu klik \"**Edit**\".\n                - Klik \"**New**\" dan tambahkan `C:\\MinGW\\bin`.\n                - Klik \"OK\" untuk menyimpan perubahan.\n\n2. **pkg-config**\n    - **Opsi 1: Menggunakan MSYS2**\n        - **Download dan Instal MSYS2:** [Unduh MSYS2](https://www.msys2.org/)\n        - **Instalasi:**\n            1. Jalankan installer MSYS2 dan ikuti instruksinya.\n            2. Buka terminal MSYS2 (MSYS2 MSYS).\n            3. Perbarui paket-paket yang ada:\n                ```bash\n                pacman -Syu\n                ```\n            4. Instal pkg-config:\n                ```bash\n                pacman -S pkg-config\n                ```\n\n    - **Opsi 2: Instalasi Manual**\n        - **Download:** [Unduh pkg-config-lite](https://sourceforge.net/projects/pkgconfiglite/)\n        - **Instalasi:**\n            1. Ekstrak file yang telah diunduh ke direktori pilihan Anda, misalnya `C:\\pkg-config`.\n            2. Tambahkan direktori `bin` dari pkg-config ke variabel lingkungan PATH seperti langkah pada opsi MinGW-w64.\n\n3. **Library SFML**\n    - **Download:** [Unduh SFML](https://www.sfml-dev.org/download.php)\n    - **Pilih Versi yang Sesuai:**\n        - Sesuaikan dengan compiler yang Anda gunakan (misalnya GCC untuk MinGW atau Visual C++ untuk Visual Studio).\n    - **Ekstrak File:**\n        - Ekstrak file yang diunduh ke direktori pilihan Anda, misalnya `C:\\SFML`.\n\n## Instruksi Pengaturan\n\n1. **Clone Repository**\n    - Buka Command Prompt atau terminal Git.\n    - Jalankan perintah berikut untuk meng-clone repository:\n        ```bash\n        git clone https://github.com/your-username/simple-music-player.git\n        cd simple-music-player\n        ```\n\n2. **Konfigurasikan Variabel Lingkungan**\n    - Tambahkan path ke direktori `bin` SFML ke variabel lingkungan PATH:\n        - Buka **Control Panel** \u003e **System and Security** \u003e **System**.\n        - Klik \"**Advanced system settings**\".\n        - Klik \"**Environment Variables**\".\n        - Di bagian \"**System variables**\", cari dan pilih variabel `Path`, lalu klik \"**Edit**\".\n        - Klik \"**New**\" dan tambahkan `C:\\SFML\\bin`.\n        - Klik \"OK\" untuk menyimpan perubahan.\n\n3. **Membangun Proyek**\n\n    **Menggunakan Visual Studio:**\n    1. Buka Visual Studio.\n    2. Pilih \"**Create a new project**\".\n    3. Pilih \"**Console App (C++)**\" dan klik \"Next\".\n    4. Beri nama proyek dan pilih lokasi sesuai dengan repository yang di-clone.\n    5. Setelah proyek dibuat, tambahkan file `main.cpp` ke dalam proyek jika belum ada.\n    6. Konfigurasi properti proyek:\n        - **C/C++ \u003e General \u003e Additional Include Directories:**\n            - Tambahkan `C:\\SFML\\include`.\n        - **Linker \u003e General \u003e Additional Library Directories:**\n            - Tambahkan `C:\\SFML\\lib`.\n        - **Linker \u003e Input \u003e Additional Dependencies:**\n            - Tambahkan `sfml-audio.lib`, `sfml-system.lib`, dan library SFML lainnya yang diperlukan.\n    7. Copy semua DLL dari `C:\\SFML\\bin` ke direktori tempat executable proyek berada (biasanya `Debug` atau `Release`).\n    8. Build solusi dengan menekan `Ctrl + Shift + B` atau melalui menu \"Build\".\n\n    **Menggunakan g++ (MinGW-w64):**\n    1. Buka terminal MSYS2 MinGW.\n    2. Navigasikan ke direktori proyek:\n        ```bash\n        cd /c/path/to/simple-music-player\n        ```\n    3. Compile proyek dengan perintah berikut:\n        ```bash\n        g++ -std=c++17 main.cpp -o music_player.exe $(pkg-config --cflags --libs sfml-audio sfml-system)\n        ```\n\n## Pengaturan SFML di VSCode\n\nBerikut adalah langkah-langkah untuk mengatur library SFML di Visual Studio Code pada Windows secara spesifik untuk proyek ini:\n\n1. **Konfigurasikan `c_cpp_properties.json`**\n    - Buka folder proyek Anda di VSCode.\n    - Pergi ke `View` \u003e `Command Palette` (`Ctrl + Shift + P`).\n    - Ketik \"**C/C++: Edit Configurations (JSON)**\" dan pilih.\n    - Pastikan konfigurasi ini disimpan di dalam folder `.vscode` di dalam proyek.\n    - Tambahkan path include SFML:\n        ```json\n        {\n            \"configurations\": [\n                {\n                    \"name\": \"Win32\",\n                    \"includePath\": [\n                        \"${workspaceFolder}/**\",\n                        \"C:/SFML/include\"\n                    ],\n                    \"libraryPath\": [\n                        \"C:/SFML/lib\"\n                    ],\n                    \"defines\": [],\n                    \"compilerPath\": \"C:/MinGW/bin/g++.exe\",\n                    \"cStandard\": \"c11\",\n                    \"cppStandard\": \"c++17\",\n                    \"intelliSenseMode\": \"windows-gcc-x64\"\n                }\n            ],\n            \"version\": 4\n        }\n        ```\n\n2. **Konfigurasikan `tasks.json` untuk Build**\n    - Pergi ke `Terminal` \u003e `Configure Tasks` \u003e `Create tasks.json file from template` \u003e `Others`.\n    - Pastikan file `tasks.json` disimpan di dalam folder `.vscode` di proyek.\n    - Tambahkan konfigurasi build:\n        ```json\n        {\n            \"version\": \"2.0.0\",\n            \"tasks\": [\n                {\n                    \"label\": \"Build\",\n                    \"type\": \"shell\",\n                    \"command\": \"g++\",\n                    \"args\": [\n                        \"-std=c++17\",\n                        \"main.cpp\",\n                        \"-o\",\n                        \"music_player.exe\",\n                        \"-IC:/SFML/include\",\n                        \"-LC:/SFML/lib\",\n                        \"-lsfml-audio\",\n                        \"-lsfml-system\"\n                    ],\n                    \"group\": {\n                        \"kind\": \"build\",\n                        \"isDefault\": true\n                    },\n                    \"problemMatcher\": [\"$gcc\"]\n                }\n            ]\n        }\n        ```\n\n3. **Menjalankan dan Debugging**\n    - Pastikan semua DLL dari `C:/SFML/bin` tersedia di direktori executable atau tambahkan ke PATH.\n    - Jalankan build task dengan `Ctrl + Shift + B`.\n    - Untuk debugging, konfigurasikan `launch.json` sesuai kebutuhan yang juga disimpan di folder `.vscode`.\n\n## Menjalankan Aplikasi\n- **Menggunakan Visual Studio:**\n    1. Setelah build sukses, tekan `F5` atau klik \"Start\" untuk menjalankan aplikasi.\n- **Menggunakan Command Prompt atau Terminal:**\n    1. Pastikan Anda berada di direktori proyek.\n    2. Jalankan aplikasi dengan perintah:\n        ```bash\n        ./music_player.exe\n        ```\n- **On Mac**\n    1. Pastikan Anda berada di direktori proyek.\n    2. Jalankan aplikasi dengan perintah:\n        ```bash\n        g++ -std=c++17  main.cpp -o main $(pkg-config --cflags --libs sfml-audio sfml-system) \u0026\u0026 ./main\n        ```\n\n## Menambahkan Lagu\n- Letakkan file `.mp3` Anda di direktori `musics`.\n- Aplikasi secara otomatis akan mendeteksi dan menampilkan lagu-lagu tersebut dalam playlist saat dijalankan.\n\n## Pemecahan Masalah\n\n- **SFML Tidak Ditemukan:**\n    - Pastikan SFML telah diinstal dengan benar dan bahwa `pkg-config` dapat menemukannya.\n    - Jalankan perintah berikut di terminal untuk memeriksa:\n        ```bash\n        pkg-config --cflags --libs sfml-audio\n        ```\n\n- **DLL Hilang:**\n    - Jika Anda mendapatkan error mengenai DLL SFML yang hilang saat menjalankan aplikasi, pastikan:\n        - Path ke direktori `bin` SFML sudah ditambahkan ke variabel lingkungan PATH.\n        - Atau, salin semua file DLL dari `C:\\SFML\\bin` ke direktori tempat executable berada.\n\n- **Error Kompilasi:**\n    - Verifikasi bahwa Anda menggunakan versi SFML yang sesuai dengan compiler yang digunakan.\n    - Pastikan semua path yang dibutuhkan sudah dikonfigurasi dengan benar di proyek.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovqigarrix%2Ftubes_struktur_data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovqigarrix%2Ftubes_struktur_data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovqigarrix%2Ftubes_struktur_data/lists"}