Repositori untuk belajar pemrograman dalam bahasa PHP

Overview

PHP

license

Repositori ini berisi kumpulan dari berbagai macam contoh struktur data, algoritma dan komputasi matematika yang diimplementasikan dengan menggunakan bahasa pemrograman PHP.

Peraturan dan Pedoman Kontribusi

Dipersilahkan bila ingin melakukan open pull requets atau kontribusi pada repositori PHP. Sebelum itu, bacalah terlebih dahulu peraturan dan pedomannya yang dapat ditemukan pada CONTRIBUTING.md.

Quick Access

Semua script yang ada pada repositori ini, dapat diakses dengan cepat lewat link berikut:

Comments
  • Menambahkan materi basic Object Oriented Programing

    Menambahkan materi basic Object Oriented Programing

    Closes

    Deskripsi (Description)

    • [x] saya menambahkan materi basic baru berupa pengenalan OOP
    • [x] saya memperbaiki materi basic yang sudah ada dalam materi Perulangan

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (I have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (I am using):

    • os = windows
    • php version = 8.0.8
    • base url = localhost:8085

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf
    • [ ] Unit testing PHPUnit

    Maintainer

    @bellshade/php-team @bellshade/docs-team

    1. Kali ini saya tambahkan sedikit mengenai infinite loop, walaupun dalam daftar materi tidak ada, saya merasa perlu untuk membuat ini karena hampir semua penulis kode pernah mengalami hal ini.
    2. Saya mencoba menjelaskan materi mengenai OOP, pada saat ini baru sebatas pengenalan, untuk itu saya tidak mentag issue yang bersangkutan
    markdown files request docs team untuk review php files request PHP team untuk review ready-to-merge request tim php untuk review sudah direview ! 
    opened by kondiak 14
  • add: Algoritma Linear Search

    add: Algoritma Linear Search

    Closes #72

    Deskripsi (Description)

    • [x] saya menambahkan algoritma baru

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (im used):

    • os = linux / windows

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf
    • [x] Unit testing PHPUnit

    Maintainer

    @bellshade/php-team @bellshade/docs-team

    Ok to merge algorithm add 
    opened by kondiak 8
  • Fix : Lengkapi Logic Pada Materi Basic : Perulangan

    Fix : Lengkapi Logic Pada Materi Basic : Perulangan

    Closes

    Deskripsi (Description)

    • [ ] saya menambahkan materi basic baru
    • [x] saya memperbaiki materi basic yang sudah ada
    • [ ] saya menambahkan materi utility baru
    • [ ] saya memperbaiki materi utility sudah ada
    • [ ] saya menambahkan dokumentasi/artikel baru
    • [ ] saya memperbaiki dokumentasi/artikel yang sudah ada
    • [ ] saya menambahkan algoritma baru
    • [ ] saya memperbaiki algoritma yang sudah ada

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (im used):

    • os = windows

    Testing

    • [ ] Codesniffer PSR-12 phpcs
    • [ ] Codesniffer autofix phpcbf
    • [ ] Unit testing PHPUnit

    Maintainer

    opened by mhaikalla 8
  • docs: Algoritma Jump Search

    docs: Algoritma Jump Search

    Closes #74

    Deskripsi (Description)

    • [x] saya menambahkan materi Jump Search
    • [x] saya menambahkan algoritma Jump Search

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (I have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (I am using):

    • os = linux / windows

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf
    • [x] Unit testing PHPUnit

    Maintainer

    @bellshade/php-team @bellshade/docs-team

    documentation 
    opened by kondiak 7
  • docs: Algoritma Binary Search

    docs: Algoritma Binary Search

    Closes #73

    Deskripsi (Description)

    • [x] saya menambahkan contoh kode algoritma Binary Search
    • [x] saya menambahkan testing kode algoritma Binary Search
    • [x] saya menambahkan dokumentasi algoritma Binary Search

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (im used):

    • os = linux / windows

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf
    • [x] Unit testing PHPUnit

    Maintainer

    @bellshade/docs-team @bellshade/php-team

    Saya rencana menambahkan dua algoritma

    • Binary Search
    • Jump Search
    documentation 
    opened by kondiak 7
  • Penambahan Dokumentasi Algoritma BubbleSorting

    Penambahan Dokumentasi Algoritma BubbleSorting

    Penambahan Dokumentasi Algoritma BubbleSorting

    Closes #32

    Deskripsi (Description)

    • [ ] saya menambahkan materi basic baru
    • [ ] saya memperbaiki materi basic yang sudah ada
    • [ ] saya menambahkan materi utility baru
    • [ ] saya memperbaiki materi utility sudah ada
    • [ ] saya menambahkan dokumentasi/artikel baru
    • [x] saya memperbaiki dokumentasi/artikel yang sudah ada
    • [ ] saya menambahkan algoritma baru
    • [ ] saya memperbaiki algoritma yang sudah ada

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (im used):

    • os = linux / windows / macOS

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf
    • [x] Unit testing PHPUnit

    Maintainer

    @bellshade/docs-team @bellshade/php-team

    documentation 
    opened by kondiak 7
  • Menambah Materi Manipulasi Array

    Menambah Materi Manipulasi Array

    Closes #18

    Deskripsi (Description)

    • [x] menambahkan materi sizeof
    • [x] menambahkan array_keys dan array_values
    • [x] menambahkan array_push, array_pop, array_shift, dan array_unshift
    • [x] menambahkan array_diff dan array_splice
    • [x] menambahkan array_merge
    • [x] menambahkan array_flip, array_reverse, array_rand, dan array_slice
    • [x] menambahkan sort, rsort, asort, ksort, arsort, dan krsort

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (im used):

    • os = windows

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf

    Maintainer

    opened by retry19 6
  • menambahkan materi database - mysql, namun materi nya masih belum len…

    menambahkan materi database - mysql, namun materi nya masih belum len…

    …gkap

    • [x] saya menambahkan materi basic baru, materi database mysql

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (im used):

    • os = linux

    Testing

    • [ ] Codesniffer PSR-12 phpcs
    • [ ] Codesniffer autofix phpcbf
    • [ ] Unit testing PHPUnit

    Maintainer

    enhancement basic 
    opened by nersus15 6
  • 1. Pengenalan - Database dasar prosedural

    1. Pengenalan - Database dasar prosedural

    Rekomendasi sub-materi database: Menghubungkan PHP ke DBMS MySQL.

    Rasanya akan kurang kalau belajar PHP tanpa mempelajari bagaimana menghubungkannya ke DBMS MySQL. untuk itu, saya merekomendasikan sub-materi database yaitu Menghubungkan PHP ke DBMS MySQL.

    Materi yang akan dibahas:

    • [x] Pengenalan
    • [ ] Tentang koneksi database
    • [ ] sedikit info tentang MySQL Referensikan ke Repository SQL di Bellshade

    progress list

    • [ ] penjelasan di README.md
    sub-materi 
    opened by Galangaidil 6
  • Materi Basic: Variabel dan Tipe data

    Materi Basic: Variabel dan Tipe data

    Rekomendasi Sub materi :

    • Tipe data dasar (1_tipe_data_dasar)
    • Variabel dalam String (2_variabel_dalam_string)
    • Array (3_array)

    Note: Cukup pengenalan array awal saja untuk demonstrasi foreach di materi berikutnya (perulangan)

    • Variabel Konstanta (4_constant_variable)

    Referensi : PHP: Constants

    • Predefined Variable (5_predefined_variable)

    Referensi : PHP: Predefined Variable

    documentation enhancement basic 
    opened by wildanie12 6
  • fix: md file jumpsearch

    fix: md file jumpsearch

    Closes #101

    Deskripsi (Description)

    • [x] saya memperbaiki dokumentasi/artikel yang sudah ada

    Contributor Requirements (Syarat Kontributor)

    • [x] saya sudah membaca (I have read) CONTRIBUTING dan sudah menyetujui semua
    • [x] saya telah menambahkan docstring yang memberikan penjelasan maksud dari kode yang saya buat
    • [x] saya sudah membuat artikel README.md tentang materi yang saya buat
    • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

    Environment

    saya menggunakan (I am using):

    • os = linux / windows

    Testing

    • [x] Codesniffer PSR-12 phpcs
    • [x] Codesniffer autofix phpcbf
    • [x] Unit testing PHPUnit

    Maintainer

    @bellshade/php-team @bellshade/docs-team

    bug 
    opened by kondiak 5
  • Improvement untuk CONTRIBUTING.md tentang variable naming style convention

    Improvement untuk CONTRIBUTING.md tentang variable naming style convention

    Mungkin lebih tepat jika salah satu petunjuk di CONTRIBUTING.md menyatakan

    Jika menggunakan paradigma prosedural, gunakan snake_case Jika menggunakan paradigma pemrograman berorientasi objek, bisa gunakan pascalCase

    Rule ini ada diatas standarisasi PSR-12 sebagai exception.

    Story: https://github.com/bellshade/PHP/issues/196

    doc style 
    opened by wildanie12 0
  • pengajuan standar penulisan *file* markdown

    pengajuan standar penulisan *file* markdown

    Salam, mohon izin Ingin mengajukan standar penggunaan program linter dan formatter untuk penulisan file Markdown agar skrip Markdown yang ditulis sesuai dengan standar penulisan yang seragam untuk semua kontributor.

    Adapun program yang saya ajukan sebagai standar untuk penulisan file markdown pada repository ini adalah markdownlint oleh David Anson

    opened by sensasi-delight 0
  • 5. Abstract Class

    5. Abstract Class

    Sub-materi ini adalah bagian dari materi utama 15_oop_lanjutan di #144

    Kelas yang abstrak, bersifat general dan karena terlalu umum, semua logic tidak dituliskan dan harus dituliskan pada kelas turunannya yang lebih spesifik. Kamu dapat membuat kelas abstrak Pengguna yang berisi method printPerkenalan() dan membuat 2 kelas lagi Kasir dan StafGudang. Karena printPerkenalan() dari Kasir dan StafGudang berbeda, maka abtraksi inilah dilakukan. Kamu bisa redeclare method itu pada Kasir dan StafGudang Satu lagi bahwa kelas abstrak tidak dapat di instantiasi oleh sebuah objek, ada baiknya jika didemonstrasikan juga. Harapannya adalah keluar error.

    Tuliskan artikel pada README.md beserta demonya juga

    rekomendasi nama file:

    • 5_abstract_class.php

    Baca CONTRIBUTING.md untuk pedoman berkontribusi selengkapnya. Tuliskan komentar dibawah jika ada sesuatu yang perlu didiskusikan, kami akan segera merespond.

    Join juga Discord WPU : https://discord.gg/S4rrXQU, diskusi tentang kontribusi ini bisa dilakukan di channel #bellshade-discussion

    sub-materi 
    opened by wildanie12 0
  • Materi Basic: OOP Lanjutan

    Materi Basic: OOP Lanjutan

    Nama Direktori : /basics/15_oop_lanjutan

    Rekomendasi sub-materi: (Klik pada salah satu submateri untuk melihat detail petunjuk dan cara pengerjaannya) :

    • [x] #145
    • [x] #146
    • [x] #147
    • [x] #148
    • [ ] #149
    • [ ] Trait (issue coming soon)
    • [ ] Autoload (issue coming soon)
    • [ ] Namespace (issue coming soon)
    • [ ] Iterator (issue coming soon)

    Tiap sub-materi ada artikel yang harus dituliskan di README.md beserta file demonya masing-masing (klik issue submateri untuk lebih detailnya)

    Baca CONTRIBUTING.md untuk pedoman berkontribusi lainnya.

    opened by wildanie12 0
  • 7. Getter dan Setter

    7. Getter dan Setter

    Sub-materi ini adalah bagian dari materi utama 14_oop_dasar di #84

    salah satu praktek penulisan kode pada paradigma OOP yang paling populer digunakan oleh para developer adalah praktik oop dengan dengan membuat method get dan set untuk setiap properti yang ada. Alih-alih mengambil data langsung dari properti, sebuah properti dari objek diambil menggunakan method get dan di tetapkan menggunakan method set. Hal ini dilakukan agar dapat lebih dikustomisasi lebih lanjut sesuai kebutuhan.

    dengan belajar materi ini, salah satu prinsip OOP sudah dijalankan yaitu Encapsulation tekankan juga di README.md bahwa ini adalah wujud implementasi dari encapsulation

    rekomendasi nama file:

    • 7_getter_dan_setter.php

    Baca CONTRIBUTING.md untuk pedoman berkontribusi selengkapnya. Tuliskan komentar dibawah jika ada sesuatu yang perlu didiskusikan, kami akan segera merespond.

    Join juga Discord WPU : https://discord.gg/S4rrXQU, diskusi tentang kontribusi ini bisa dilakukan di channel #bellshade-discussion

    sub-materi 
    opened by wildanie12 0
  • 6. Constant dan Magic Constant

    6. Constant dan Magic Constant

    Sub-materi ini adalah bagian dari materi utama 14_oop_dasar di #84

    Constant masih terkait dengan properti static karena memang mirip sekali cara pembuatan dan pemanggilannya. Yang dijelaskan pada submateri ini adalah bagaimana cara membuat constant, mengakses contant dari sebuah objek dan mengakses constant dari dalam kelas.

    Berbeda dengan magic constant, PHP menyediakan magic constant khusus untuk sebuah kelas, seperti __CLASS__, __METHOD__, dll. Kamu dapat menunjukkan apa saja magic constant dalam sebuah list, namun pada demonya cukup buat demonstrasi untuk __CLASS__ dan __METHOD__ saja.. kamu dapat buat pada file demo yang sama.

    Skema kelasnya kami sarankan untuk samakan dengan sub materi yang sebelumnya, yaitu Pengguna. untuk constant dapat dibuat sesuatu yang terkait misalnya MSG_STRUK yang berisi ucapan footer struk seperti Terimakasih telah berbelanja di toko kami, kasir :. Dan untuk magic constant kamu dapat buat method sendiri, misalnya getNamaClass() atau getNamaMethod() yang menunjukkan hasil keluaran dari magic constant yang ditulis.

    rekomendasi nama file:

    • 6_constant_magic_constant.php

    Baca CONTRIBUTING.md untuk pedoman berkontribusi selengkapnya.

    sub-materi 
    opened by wildanie12 1
Owner
Bellshade
Komunitas untuk mengelola dan menulis kode untuk proyek pendidikan sumber terbuka Indonesia
Bellshade
⚡️ Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC.

Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC. This project is a work-in-progress. Code and docume

Web3 PHP 665 Dec 23, 2022
Lightweight PHP library for WhatsApp API to send the whatsapp messages in PHP provided by ultramsg.com

Ultramsg.com WhatsApp API PHP SDK Lightweight PHP library for WhatsApp API to send the whatsappp messages in PHP provided by Ultramsg.com Installation

Ultramsg 117 Dec 26, 2022
Google-api-php-client - A PHP client library for accessing Google APIs

Google APIs Client Library for PHP Reference Docs https://googleapis.github.io/google-api-php-client/main/ License Apache 2.0 The Google API Client Li

Google APIs 8.4k Dec 30, 2022
Wise-php - This library is written to accommodate the wise API's use in php projects With Wise

Wise-php - This library is written to accommodate the wise API's use in php projects With Wise you can automate payments, connect your business tools, and create ways to manage your finances. You can also power your cross-border and domestic payouts.

Albert Xhani 15 Nov 17, 2022
It's a PHP Application to simplify working with Google Sheets SDK for php.

About GoogleSheetsPHP It's a PHP Application to simplify working with Google Sheets SDK for php. Note: i used Slim 3 to construct the application but

Sami Alateya 5 Dec 20, 2022
Official repository of the AWS SDK for PHP (@awsforphp)

AWS SDK for PHP - Version 3 The AWS SDK for PHP makes it easy for developers to access Amazon Web Services in their PHP code, and build robust applica

Amazon Web Services 5.7k Jan 1, 2023
A framework agnostic PHP library to build chat bots

BotMan If you want to learn how to create reusable PHP packages yourself, take a look at my upcoming PHP Package Development video course. About BotMa

BotMan 5.8k Jan 3, 2023
PHP library for the Stripe API.

Stripe PHP bindings The Stripe PHP library provides convenient access to the Stripe API from applications written in the PHP language. It includes a p

Stripe 3.3k Jan 5, 2023
A simple PHP GitHub API client, Object Oriented, tested and documented.

PHP GitHub API A simple Object Oriented wrapper for GitHub API, written with PHP. Uses GitHub API v3 & supports GitHub API v4. The object API (v3) is

KNP Labs 2k Jan 7, 2023
A PHP library for communicating with the Twilio REST API and generating TwiML.

twilio-php The default branch name for this repository has been changed to main as of 07/27/2020. Documentation The documentation for the Twilio API c

Twilio 1.4k Jan 2, 2023
Mailgun's Official SDK for PHP

Mailgun PHP client This is the Mailgun PHP SDK. This SDK contains methods for easily interacting with the Mailgun API. Below are examples to get you s

Mailgun Team 1k Dec 23, 2022
A PHP library for the Campaign Monitor API

createsend A PHP library which implements the complete functionality of the Campaign Monitor API. Installation Composer If you use Composer, you can r

Campaign Monitor 287 Jan 6, 2023
PHP 5.3+ library which helps you to interact with the DigitalOcean API

DigitalOcean The version 2 of the API will be available soon ! Please visit DigitalOceanV2 and contribute :) This PHP 5.3+ library helps you to intera

Antoine Kirk 156 Jul 30, 2022
A versatile PHP Library for Google PageSpeed Insights

PhpInsights An easy-to-use API Wrapper for Googles PageSpeed Insights. The JSON response is mapped to objects for an headache-free usage. Installation

Daniel Sentker 110 Dec 28, 2022
PHP library for the GitHub API v3

GitHub API v3 - PHP Library Currently under construction. Overview Provides access to GitHub API v3 via an Object Oriented PHP library. The goal of th

Darren Rees 62 Jul 28, 2022
Twitter REST API for PHP 5.3+

README The Wid'op Twitter REST library is a modern PHP 5.3+ API allowing you to easily interact with Twitter 1.1. In order to sign your request with t

Wid'op 24 Aug 10, 2020
A PHP Stream wrapper for Amazon S3

S3StreamWrapper A simple stream wrapper for Amazon S3. Example <?php use S3StreamWrapper\S3StreamWrapper; S3StreamWrapper::register(); $options = a

Gijs Kunze 21 Nov 23, 2021
PHP library to use IOTA REST API to help node management and tangle queries

iota.php About PHP library to use IOTA REST API to help node management and tangle queries. Please be aware that this library is in an early developme

IOTA Community 45 Dec 13, 2022
A simple Object Oriented PHP Client for Termii SMS API

Termii Client A simple Object Oriented PHP Client for Termii SMS API. Uses Termii API. Requirements PHP >= 7.2 Guzzlehttp ~6|~7 Installation Via Compo

Ilesanmi Olawale Adedotun 5 Feb 24, 2022