Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: integral #55

Merged
merged 3 commits into from
Feb 7, 2024
Merged

chore: integral #55

merged 3 commits into from
Feb 7, 2024

Conversation

kayabaakihiko13
Copy link
Contributor

Deskripsi (Description)

Checklist:

Umum:

  • Saya menambah fungsi / algoritma.
  • Saya memperbaiki algoritma yang sudah ada.
  • Saya memperbaiki dokumentasi.
  • Saya menambah dokumentasi.

Contributor Requirements (Syarat Kontributor) dan Lain-Lain:

  • Saya sudah membaca (I have read) CONTRIBUTING dan sudah menyetujui semua syarat.
  • Saya menggunakan bahasa Indonesia untuk memberikan penjelasan dari kode yang saya buat.

Unit Testing dan Linting (wajib):

  • pytest
  • pre-commit

Environment

Saya menggunakan (I'm using):

  • os = linux (ubuntu Distro)
  • python = python3.11.6

linked issue #NOMOR_ISSUE

@kayabaakihiko13 kayabaakihiko13 changed the base branch from main to develop-library February 6, 2024 18:28
Comment on lines 527 to 545
def integral(
f: Callable[[float], float], a: float, b: float, iterable: int = 4
) -> float:
"""
integral merupakan suatu konsep yang merupakan operasi kebalikan dari diferensiasi.
Integral memiliki dua bentuk utama: integral tak tentu (indefinite integral)
dan integral tentu (definite integral).
Args:
f (Callable[[float],float]): fungsi input
a (float): nilai awal
b (float): nilai atas
iterable (int, optional): mengatur putaran. Defaults to 4.

"""
delta = (b - a) / iterable
result = 0.5 * (f(a) + f(b))
for i in range(1, iterable):
result += f(a + i * delta)
return round(result * delta)
Copy link
Member

@slowy07 slowy07 Feb 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
def integral(
f: Callable[[float], float], a: float, b: float, iterable: int = 4
) -> float:
"""
integral merupakan suatu konsep yang merupakan operasi kebalikan dari diferensiasi.
Integral memiliki dua bentuk utama: integral tak tentu (indefinite integral)
dan integral tentu (definite integral).
Args:
f (Callable[[float],float]): fungsi input
a (float): nilai awal
b (float): nilai atas
iterable (int, optional): mengatur putaran. Defaults to 4.
"""
delta = (b - a) / iterable
result = 0.5 * (f(a) + f(b))
for i in range(1, iterable):
result += f(a + i * delta)
return round(result * delta)
def integral(
f: Callable[[float], float], a: float, b: float, iterable: int = 4
) -> Union[float, error.errorTipeData]:
"""
integral merupakan suatu konsep yang merupakan operasi kebalikan dari diferensiasi.
Integral memiliki dua bentuk utama: integral tak tentu (indefinite integral)
dan integral tentu (definite integral).
Parameter:
f (Callable[[float],float]): fungsi input
a (float): nilai awal
b (float): nilai atas
iterable (int, optional): mengatur putaran. Defaults to 4.
Return:
float: hasil dari integral
error.errorTipeData: return error jika tipe data salah
"""
if not all(isinstance(data, float) for data in [a, b]):
return error.errorTipeData(["float"])
if not isinstance(iterable, int):
return error.errorTipeData(["int])
delta = (b - a) / iterable
result = 0.5 * (f(a) + f(b))
for i in range(1, iterable):
result += f(a + i * delta)
return round(result * delta)

Copy link
Member

@slowy07 slowy07 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tambahkan unittesting untuk mengetest dari fungsi, jika user memasukkan tipe data yang salah

@kayabaakihiko13
Copy link
Contributor Author

tambahkan unittesting untuk mengetest dari fungsi, jika user memasukkan tipe data yang salah

done bang

Copy link
Member

@slowy07 slowy07 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 💯

@mergify mergify bot merged commit e315cd1 into bellshade:develop-library Feb 7, 2024
8 checks passed
Copy link

mergify bot commented Feb 7, 2024

terima kasih atas kontribusinya @kayabaakihiko13 🤩

@slowy07 slowy07 changed the title Dev algorithm chore: integral Feb 7, 2024
mergify bot pushed a commit that referenced this pull request Feb 8, 2024
* Update pypi.yml

* Update pypi.yml

* fix: mencoba menggunakan ke branch release (#18)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* Update pypi.yml

* chore: merubah branch release (#19)

* fix: mencoba menggunakan ke branch release

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: merubah branch release

merubah branch release menjadi `develop-library` dan hasil dari branch
ini akan di push ke main untuk upload package ke pypi

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: menambahkan dokumentasi tentang branch

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: memperbaiki dokumentasi dari CONTRIBUTING.md

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* fix: mengubah konfigurasi dari mergify

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* Barometrik (#20)

* fix: mencoba menggunakan ke branch release

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan ketinggian barometrik

menghitung ketinggian dengan menggunakan rumus barometrik, menggunakan
daripada menggunakan prinsip penurunan tekanan udara dengan meningkatnya ketinggian

rumus:
kettingian = 44330 * [1 - (P/p0)^(1/5.255)
dimana:
p = tekanan yang sudah terukur
p0 = tekanan udara standard pada permukaan laut (101325 Pa)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: menambahakan natural language indonesia (#21)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan fungsi euler pi (#22)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: upgrade dari error handling (#23)

* feat: mengganti fitur dari error handling

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* fix: memperbaiki dari mypy typehinting

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: meanambahkan fungsi fisika (#24)

menambahkan beberapa fungsi dari
- efek doppler
- gaya sentripental

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan utils.error dan fungsi sigmoid

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: menambahkan dokumentasi docstring (#25)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: dockerize for testing OpenSeries (#28)

* feat: dockerize for testing OpenSeries

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: for named files

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat: deploy to pypi (#29)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: change banner openseries (#31)

* chore: merubah variable constant ke huruf KAPITAL (#33)

menggunakan variable dengan huruf kapital dimaksudkan untuk menandai
variable yang bersifat konstanta, atau variable yang nilainya tidak
dapat diubah

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: improvisasi error (#34)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* Distribusi binomial (#36)

* chore: menambahkan distribusi binomial

distribusi binomial adalah distribusi probabilitas yang menggambarkan
probabilitas mendapatkan sejumlah keberhasilan tertentu dalam
serangkaian percobaan idependen, di mana setiap percobaan memilki dua
kemungkinan antara berhasil atau gagal

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* fix: menghapus test setup dari cython

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan angka armstrong (#38)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: menambahkan angka automorphic (#42)

angka automorphic adalah bilangan asli dalam basis bilangan tertentu yang kuadratnya "berakhir" dengan angka yang sama dengan bilangan itu sendiri

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* fix: memperbaiki beberapa fn yang terlalu ribet (#44)

menambahkan library colorama untuk meningkatkan keterbacaan kode warna
ANSI dan memperjelas nilai konstan

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: menambahkan fungsi gaussian (#49)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: mengganti banner

* [pre-commit.ci] pre-commit autoupdate (#50)

* Develop library (#30)

* Update pypi.yml

* Update pypi.yml

* fix: mencoba menggunakan ke branch release (#18)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* Update pypi.yml

* chore: merubah branch release (#19)

* fix: mencoba menggunakan ke branch release

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: merubah branch release

merubah branch release menjadi `develop-library` dan hasil dari branch
ini akan di push ke main untuk upload package ke pypi

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: menambahkan dokumentasi tentang branch

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: memperbaiki dokumentasi dari CONTRIBUTING.md

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* fix: mengubah konfigurasi dari mergify

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* Barometrik (#20)

* fix: mencoba menggunakan ke branch release

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan ketinggian barometrik

menghitung ketinggian dengan menggunakan rumus barometrik, menggunakan
daripada menggunakan prinsip penurunan tekanan udara dengan meningkatnya ketinggian

rumus:
kettingian = 44330 * [1 - (P/p0)^(1/5.255)
dimana:
p = tekanan yang sudah terukur
p0 = tekanan udara standard pada permukaan laut (101325 Pa)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* chore: menambahakan natural language indonesia (#21)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan fungsi euler pi (#22)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: upgrade dari error handling (#23)

* feat: mengganti fitur dari error handling

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* fix: memperbaiki dari mypy typehinting

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: meanambahkan fungsi fisika (#24)

menambahkan beberapa fungsi dari
- efek doppler
- gaya sentripental

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: menambahkan utils.error dan fungsi sigmoid

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* docs: menambahkan dokumentasi docstring (#25)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

* feat: dockerize for testing OpenSeries (#28)

* feat: dockerize for testing OpenSeries

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: for named files

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat: deploy to pypi (#29)

Signed-off-by: slowy07 <slowy.arfy@gmail.com>

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>
Co-authored-by: Rull <88574877+rulanugrh@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.14 → v0.2.0](astral-sh/ruff-pre-commit@v0.1.14...v0.2.0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>
Co-authored-by: arfy slowy <slowy.arfy@gmail.com>
Co-authored-by: Rull <88574877+rulanugrh@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* chore: menambahkan angka pronic (#51)

angka pronic adalah bilangan bulat positif yang merupakan hasil perkalian dari dua bilangan bulat berurutan

Signed-off-by: arfy slowy <slowy.arfy@gmail.com>

* chore: menambahkan angka segitiga (#52)

Signed-off-by: arfy slowy <slowy.arfy@gmail.com>

* docs: menambahkan informasi dari parameter commit (#53)

Signed-off-by: arfy slowy <slowy.arfy@gmail.com>

* chore: menambahkan badge (#54)

Signed-off-by: arfy slowy <slowy.arfy@gmail.com>

* Dev algorithm (#55)

* feat: menambahkan integral

* feat: menambahkan integral

* feat: menambahkan integral

* chore: fungsi derivative (#56)

* feat: menambahkan integral

* feat: menambahkan integral

* feat: menambahkan integral

* feat: menambahkan algoritma turunan

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* chore: update v1.7.0 (#57)

Signed-off-by: arfy slowy <slowy.arfy@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: slowy07 <slowy.arfy@gmail.com>
Signed-off-by: arfy slowy <slowy.arfy@gmail.com>
Co-authored-by: Rull <88574877+rulanugrh@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: envil a.k.a pow <86885041+abnvlf@users.noreply.github.com>
Co-authored-by: Iqbal Ramadhan Anniswa <95537097+kayabaakihiko13@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants