Menu
CoddyTech
Jalur belajar

Struktur Data dan Algoritma dengan PHP

Di PHP, satu tipe mengerjakan hampir semuanya: array adalah hash map yang terurut, berperan sebagai list, dictionary, dan stack sekaligus. Jalur ini memintamu membangun struktur yang diwakilinya, dan yang tidak bisa diwakilinya, dalam PHP, lalu melakukan sorting, rekursi, dan penelusuran graf dengannya, dan menyelesaikan soal wawancara yang dinilai. Gratis, di browser, dengan sertifikat di sebagian besar kursus.

377 pelajaran284 tantangan702 soal kuis

DSA dengan PHP, langkah demi langkah

38 kursus377 pelajaran284 tantangan702 soal kuis

Setiap langkah adalah sekumpulan kursus Coddy yang sudah ada, dan setiap tombol Mulai membukanya dalam PHP. Tiga kursus yang belum diajarkan dalam PHP dicantumkan setelah langkah-langkahnya.

  1. 1
    Mulai langkah iniMulaiStack, queue, binary tree, hash table, dan linked list, masing-masing dibangun dari nol dalam PHP lalu dipakai untuk menyelesaikan soal. Setelahnya, kamu tahu kapan array menjadi stack yang bagus, kenapa array_shift membuatnya menjadi queue yang buruk, dan apa yang dilakukan hash map di dalam setiap array untukmu.Mulai
  2. 2
    Mulai langkah iniMulaiDoubly linked list, heap dan priority queue, trie, graf, dan AVL tree yang menyeimbangkan dirinya sendiri. Setelahnya, SplDoublyLinkedList adalah struktur yang pernah kamu tulis, SplMinHeap dan SplMaxHeap adalah satu ide yang menghadap ke dua arah, dan balanced tree yang tidak disertakan PHP adalah sesuatu yang bisa kamu bangun.Mulai
  3. 3
    Mulai langkah iniMulaiBubble, selection, insertion, merge, quick, heap, counting, dan radix sort, ditulis dalam PHP dan dilihat di visualizer. sort() sudah stabil sejak PHP 8.0; setelah langkah ini kamu tahu arti janji itu dan algoritma sorting mana dari kedelapannya yang bisa menepatinya.Mulai
  4. 4
    Mulai langkah iniMulaiTantangan rekursi dalam PHP. Fungsi bernama bisa memanggil dirinya sendiri dengan bebas, tapi fungsi anonim harus menangkap dirinya sendiri secara reference lebih dulu, seperti $f = function ($n) use (&$f) { ... }, detail yang layak diketahui sebelum wawancara meminta closure rekursif. Dynamic programming dan bit manipulation dicantumkan setelah langkah-langkahnya, karena diajarkan dalam Python dan C++.MulaiHalaman khusus
  5. 5
    Mulai langkah iniMulaiBreadth-first search dan depth-first search, Dijkstra, Bellman-Ford, topological sort, Kruskal, dan Prim dalam PHP, pada graf yang kamu bangun di langkah dua. SplPriorityQueue adalah max-heap, jadi Dijkstra bisa menegasikan jarak-jaraknya atau berjalan di atas heap milikmu sendiri dari langkah dua.Mulai
  6. 6
Yang kamu dapatkan
Semua yang kamu pakai untuk belajar coding

Belajar sambil praktik

Tulis kode sungguhan, query database, buat website, dan kuasai prompt AI. Pelajaran interaktif kami mencakup setiap keterampilan yang dibutuhkan developer modern.

playground.js
Editor kode
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Tes #1test Case Success icon
Tes #2test Case Success icon
Tes #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Bangun streakmu

Tetap konsisten dan lihat progresmu bertumbuh! Pantau kebiasaan coding harianmu, lindungi streakmu dengan hari beku, dan raih hadiah karena hadir setiap hari.

12 hari streak

Kembali besok untuk menjaga streakmu!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Gandakan atau hangus

Hari ke-5 dari 7

fire Freeze icon

Pembeku Streak

2 left

Coding di mana saja

Bawa perjalanan coding-mu ke mana saja! Tanpa setup, tanpa unduhan: cukup buka dan mulai coding. Tersedia di iOS, Android, dan Web dengan rating bintang 4,9.

Python
7Streak
250Skor
5Energi
Variabel
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
Lanjutkan
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Perjalanan
Target
Papan peringkat
Profil
4.9
BintangBintangBintangBintangBintang
Rating

Kamu tidak sendirian

Bersaing di papan peringkat global, ajak teman untuk mendapat hadiah, dan rayakan kemenangan satu sama lain. Coding lebih seru bersama teman!

Liga Challenger
Liga Challenger7 teratas naik
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconZona promosileaderboard Arrow Up icon

Semua cara belajar

Baca, dengarkan, uji dirimu, tanya AI, atau cari lagi apa pun yang sudah kamu pelajari. Setiap pelajaran menyesuaikan diri denganmu.

Pengenalan variabel
Audio

Variabel adalah wadah bernama yang menyimpan nilai yang bisa kamu pakai lagi nanti di programmu.

Di Python, kamu membuatnya dengan menulis nama, tanda sama dengan, lalu nilai yang ingin kamu simpan.

Nilainya bisa berubah seiring waktu. Menetapkan ulang nama itu cukup membuatnya menunjuk ke nilai baru.

1xSarah

Dapatkan sertifikat

Dapatkan sertifikat untuk setiap kursus yang kamu selesaikan. Tambahkan ke profil LinkedIn dan CV-mu untuk menunjukkan keahlian coding-mu kepada pemberi kerja.

CoddySertifikat Penyelesaian
Dengan ini menyatakan bahwaBudi Santosotelah berhasil menyelesaikan
python iconDasar Python
Terverifikasi
TanggalJan 2026
LinkedInTambahkan ke LinkedIn

Kenapa belajar DSA dengan PHP di Coddy

  • Apa sebenarnya array itu. array di PHP adalah hash map yang terurut, itulah kenapa $a[] = $x dan $a['key'] = $x sama-sama berfungsi, dan kenapa array_shift lambat: ia menomori ulang setiap elemen yang tersisa. Membangun stack, queue, dan hash table yang sebenarnya adalah cara mempelajari operasi array mana yang murah dan mana yang diam-diam mahal.
  • Algoritma untuk web developer. PHP menjalankan WordPress dan Laravel, dan halaman yang lambat kadang adalah masalah algoritma yang menyamar: in_array di dalam loop adalah linear search di setiap putaran, sementara isset pada array dengan key rata-rata berwaktu konstan. Cara berpikir yang membuatmu lolos wawancara adalah cara berpikir yang memperbaiki halaman itu.
  • Hampir seluruh jalur dalam PHP. Setiap struktur data, sorting, algoritma graf, tantangan rekursi, dan paket wawancara diajarkan dalam PHP. Tiga diajarkan dalam bahasa lain dan dicantumkan setelah langkah-langkahnya dengan link ke masing-masing: dynamic programming dan seri wawancara Python dalam Python, serta bit manipulation dalam C++. Bit manipulation mudah dibaca dari PHP, yang punya &, |, ^, ~, <<, dan >> milik C++.
  • Dinilai seperti wawancara. Setiap pelajaran diakhiri tantangan PHP yang diperiksa dengan kasus uji, dan saat satu gagal, Bugsy membaca kodemu dan mengarahkanmu ke perbaikannya tanpa memberikan jawabannya. Sertifikat gratis di sebagian besar kursus, masing-masing bisa diverifikasi di URL-nya sendiri.

Pertanyaan umum tentang DSA dengan PHP

Apakah PHP bagus untuk struktur data dan algoritma?

Untuk mempelajarinya, ya, setelah kamu meninggalkan satu kebiasaan: memakai array untuk segala hal. Array PHP cukup fleksibel untuk menjadi list, dictionary, dan stack, dan justru itulah yang menyembunyikan biaya setiap operasinya. Bangun strukturnya sendiri, dan PHP adalah bahasa yang sepenuhnya layak untuk menalar algoritma, sekaligus bahasa yang wajar untuk wawancara kalau PHP adalah pekerjaanmu.

Class SPL mana yang cocok dengan struktur data mana?

SplStack dan SplQueue adalah stack dan queue, keduanya dibangun di atas SplDoublyLinkedList; SplMinHeap dan SplMaxHeap adalah heap; SplPriorityQueue adalah max-heap yang diurutkan berdasarkan prioritas; dan SplFixedArray adalah array berukuran tetap dengan indeks integer yang memakai lebih sedikit memori daripada array. array biasa adalah hash table-mu. Tidak ada class untuk tree, trie, atau graf, jadi semua itu kamu tulis sendiri, di langkah satu dan dua.

Kenapa array_shift lambat untuk queue di PHP?

Karena setelah menghapus elemen pertama, ia menomori ulang setiap key integer yang tersisa mulai dari nol, yang menyentuh seluruh array: queue yang dibangun di atas array_shift berbiaya O(n) untuk setiap dequeue, dan butuh waktu kuadratik untuk dikosongkan. Pakai SplQueue, atau simpan indeks kepala ke dalam array dan majukan indeks itu. Langkah satu memintamu membangun queue sendiri, cara paling pasti untuk melihat perbedaannya.

Apakah sort() stabil di PHP?

Sejak PHP 8.0, ya: sort(), usort(), asort(), dan fungsi sorting lainnya menjaga elemen yang sama tetap dalam urutan aslinya. Sebelum 8.0 tidak ada janji seperti itu, jadi kode yang bergantung pada urutan elemen yang sama bisa berperilaku berbeda antar versi. Dari delapan algoritma sorting di langkah tiga, merge sort dan insertion sort stabil, sedangkan quicksort dan heap sort tidak; setelahnya, kamu tahu kenapa.

Kursus mana di jalur ini yang tidak diajarkan dalam PHP?

Tiga: dynamic programming dan seri wawancara Python, yang diajarkan dalam Python, serta bit manipulation, yang diajarkan dalam C++. Ketiganya dicantumkan setelah langkah-langkahnya, masing-masing dengan link yang membukanya dalam bahasanya sendiri. Tabel memo di PHP adalah array dengan key berupa subproblem. Satu jebakan saat memindahkan trik bit: kalau kedua operand &, |, atau ^ berupa string, PHP bekerja pada nilai byte karakter-karakternya dan mengembalikan string, jadi pastikan nilainya integer lebih dulu.

Apakah aku perlu bisa PHP sebelum memulai jalur ini?

Setidaknya fungsi, array, perulangan, dan class, karena sebuah node secara alami adalah objek dengan property $next. Kalau semua itu masih baru, kursus PHP Coddy membawamu ke sana lebih dulu, gratis, dan jalur ini melanjutkan dari tempat kursus itu berakhir.

Apakah aku mendapat sertifikat untuk jalur Struktur Data & Algoritma?

Ya. Selesaikan setiap langkah dan kamu akan mendapat satu sertifikat gratis untuk seluruh jalur Struktur Data & Algoritma. Sertifikat ini mencantumkan setiap kursus yang kamu selesaikan di sepanjang jalan, dan menautkan sertifikat masing-masing kursus, sehingga siapa pun bisa memeriksa setiap keterampilan yang disebutkannya. Kamu bisa menambahkannya ke profil LinkedIn-mu. Ini adalah sertifikat penyelesaian dari Coddy, bukan kualifikasi terakreditasi.

Jalur belajar lainnya

Kursus yang sama, disusun untuk peran yang berbeda. Progres terbawa: kursus yang selesai di satu jalur dihitung di setiap jalur yang memuatnya.

Semua jalur belajar
Ilustrasi bahasa pemrograman di Coddy

Mulai jalur Struktur Data & Algoritma secara gratis

Mulai belajar