https://github.com/LearnWithSuryaa/casoffin
https://github.com/LearnWithSuryaa/casoffin
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/LearnWithSuryaa/casoffin
- Owner: LearnWithSuryaa
- License: mit
- Created: 2024-11-21T16:46:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-23T04:21:08.000Z (over 1 year ago)
- Last Synced: 2025-01-26T03:31:36.655Z (over 1 year ago)
- Language: C
- Size: 8.79 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎨 Program Visualisasi Gelombang Sinusoidal
Program ini dirancang untuk membantu mahasiswa memahami konsep **gelombang sinusoidal** dengan cara visual yang interaktif. Dengan program ini, Anda dapat:
- Menginput nilai **amplitudo** dan **panjang gelombang**.
- Memilih tipe gelombang: **Sinus** atau **Kosinus**.
- Melihat grafik gelombang sinusoidal atau kosinus langsung di terminal.
- Mengetahui koordinat `(x, y)` untuk setiap titik gelombang.
- Menyimpan data koordinat dan grafik ke dalam file.
---
## ✨ Fitur
✅ **Validasi Input**: Memastikan input berupa bilangan bulat positif.
✅ **Visualisasi Gelombang**: Menampilkan grafik gelombang sinusoidal atau kosinus di terminal.
✅ **Titik Koordinat**: Menampilkan daftar koordinat `(x, y)` setiap titik dalam satu panjang gelombang.
✅ **Penyimpanan File**: Menyimpan koordinat dan grafik gelombang ke dalam file (misalnya, `data.csv` atau `grafik.txt`).
✅ **Pilihan Tipe Gelombang**: Memilih antara gelombang **Sinus** atau **Kosinus** untuk divisualisasikan dan disimpan.
---
## ⚙️ Cara Penggunaan
### Persiapan Awal
Pastikan Anda memiliki:
- Compiler **GCC** terpasang di sistem Anda.
- File berikut:
- `main.c`
- `fungsi.c`
- `fungsi.h`
- `Makefile`
### Langkah-Langkah
#### Clone atau download repositori ini ke komputer Anda:
```bash
git clone https://github.com/LearnWithSuryaa/casofin
cd casofin
```
#### 1️⃣ Kompilasi Program
Jalankan perintah berikut pada terminal untuk mengompilasi program:
```bash
make
```
> 💡 **Catatan**:
> Perintah ini akan:
> - Mengompilasi file `.c` menjadi file `.o`.
> - Menghasilkan file eksekusi bernama `surya`.
#### 2️⃣ Menjalankan Program
Setelah kompilasi selesai, jalankan program menggunakan perintah:
```bash
make run
```
Program akan meminta Anda untuk memasukkan:
1. **Amplitudo**: Nilai bilangan bulat positif (> 0).
2. **Panjang Gelombang**: Nilai bilangan bulat positif (> 0).
3. **Tipe Gelombang**: Memilih antara **Sinus** atau **Kosinus**.
Setelah input diterima, program akan:
- Menampilkan **grafik gelombang sinusoidal atau kosinus**.
- Menampilkan daftar **koordinat titik `(x, y)`**.
- Memberikan pilihan untuk **menyimpan data koordinat dan grafik** ke dalam file.
#### 3️⃣ Menyimpan Koordinat dan Grafik ke File
Setelah gelombang ditampilkan, Anda dapat memilih untuk menyimpan koordinat dan grafik ke dalam file. Program akan menanyakan nama file yang ingin digunakan (misalnya `grafik.txt` atau `data.csv`).
#### 4️⃣ Membersihkan File
Untuk membersihkan file yang dihasilkan seperti file object (`.o`) dan file eksekusi (`surya`), gunakan perintah:
```bash
make clean
```
---
## 📋 Contoh Output Program
### Input:
```
Masukkan nilai amplitudo (lebih dari 0): 5
Masukkan panjang gelombang (LENGTH): 20
Pilih tipe gelombang:
1. Sinus
2. Kosinus
Pilihan Anda: 1
```
### Output:
#### Grafik Gelombang (Sinus):
```
Grafik Gelombang Sinusoidal:
S S
S S S S
S S S S
S S S S
S S S
-----------------------
S S S
S S S S
S S S S
S S S S
S S
```
#### Koordinat `(x, y)`:
```
Titik Koordinat (x, y):
x = 0 | y = 0.00
x = 1 | y = 1.47
x = 2 | y = 2.85
...
x = 20 | y = 0.00
```
### Menyimpan ke File:
```
Masukkan nama file untuk menyimpan data (contoh: grafik.txt): data.csv
Data berhasil disimpan ke file: data.csv
```
---
## ✍️ Penulis
Program ini dibuat oleh:
- [Suryahipersomniaa](https://www.instagram.com/suryahipersomniaa/)
- [Satriya_dm](https://www.instagram.com/satriya_dm/)
---
## 📝 Lisensi
Program ini dilisensikan di bawah [MIT License](LICENSE), sehingga Anda bebas menggunakan untuk tujuan pembelajaran dan penelitian. 🚀