free-programming-books

:books: Freely available programming books

View the Project on GitHub EbookFoundation/free-programming-books

Baca instruksi ini dalam bahasa lain

Perjanjian Lisensi Kontributor

Dengan berkontribusi, Anda setuju dengan lisensi dari repositori ini.

Kode Etik untuk Kontributor

Dengan berkontribusi, Anda setuju untuk menghormati Kode Etik dari repositori ini. (translations)

Versi pendek

  1. “Tautan untuk mengunduh buku” tidak selalu merujuk pada buku yang benar-benar gratis. Mohon untuk hanya mendaftarkan tautan ke buku/konten yang benar-benar gratis. Kami tidak menerima tautan ke situs web yang membutuhkan alamat email dari pengguna sebelum mengunduh atau mengakses kontennya. Kami hanya dapat menerima tautan yang membutuhkan alamat email pengguna (atau yang serupa) jika bagian keterangan sesuai dengan panduan yang kami berikan.

  2. Anda tidak harus terbiasa dengan Git: jika Anda menemukan sesuatu yang menarik dan belum ada di repositori ini, silakan buka Isu dengan proposal tautan Anda.
    • Jika Anda sudah familiar dengan Git, fork repositori dan kirimkan Pull Request (PR) Anda.
  3. Kami memiliki 6 kategori tautan. Pastikan untuk memilih kategori yang tepat sebelum mendaftarkan tautan yang anda usulkan:

    • Buku: PDF, HTML, ePub, halaman gitbook.io berbasis web, repositori Git, dll.
    • Kursus: Kursus menggambarkan materi pembelajaran yang bukan berupa buku. Ini adalah contoh kursus.
    • Tutorial interaktif: Situs web interaktif yang memungkinkan pengguna memasukkan kode sumber (source code) atau perintah dan hasilnya bisa dievaluasi (“evaluasi” yang dimaksud bukan evaluasi dengan tujuan memberikan “nilai” yang berupa angka). misalnya: Coba Haskell, Coba Git.
    • Playgrounds: Situs web interaktif, permainan (game), atau aplikasi desktop untuk belajar pemrograman. Anda dapat menulis, mengkompilasi (atau menjalankan), dan membagikan source code yang ditulis. Playgrounds seringkali memperbolehkan Anda untuk membuat salinan (fork) dan membebaskan Anda untuk bermain dengan kodenya.
    • Podcast dan Screencasts: Podcast dan Screencasts.
    • Kumpulan Masalah & Pemrograman Kompetitif: Situs web atau perangkat lunak yang memungkinkan Anda untuk mengukur kemampuan pemrograman Anda dengan menyelesaikan masalah-masalah sederhana atau kompleks, dengan atau tanpa proses tinjauan kode, dengan atau tanpa membandingkan hasilnya dengan pengguna lain.
  4. Pastikan Anda mengikuti Pedoman di bawah ini dan mengikuti Panduan Penulisan Markdown.

  5. GitHub Actions akan melakukan pengujian untuk memastikan bahwa daftar yang Anda buat diurutkan secara alfabetis dan mengikuti aturan format. Pastikan untuk memeriksa bahwa perubahan yang Anda buat lulus pengujian tersebut.

Pedoman

Pemformatan

Idenya adalah untuk memiliki:

Contoh:

[...]
* [Contoh Buku](http://example.com/example.html)
                            (baris kosong)
                            (baris kosong)
### Contoh
                            (baris kosong)
* [Contoh Buku Lainnya](http://example.com/book.html)
* [Beberapa Buku Lain](http://example.com/other.html)

Urutan Alfabetis

Jika Anda melihat tautan dengant urutan yang salah, mohon periksa pesan kesalahan yang diberikan oleh linter untuk mengetahui baris mana yang harus ditukar/diubah.

Catatan

Meskipun dasar-dasarnya relatif sederhana, terdapat keragaman yang besar pada konten-konten yang kami daftarkan. Berikut beberapa catatan tentang bagaimana kami menangani keragaman ini.

Metadata

Daftar kami menyediakan kumpulan metadata minimal: judul, URL, pembuat, platform, dan catatan akses.

Judul
URLs

Pencipta

Kursus dan Uji Coba dengan Batas Waktu

Platform dan Catatan Akses

Genre

Aturan pertama dalam menentukan genre mana sebuah konten adalah dengan melihat bagaimana isi dari konten tersebut. Jika konten tersebut mengatakan dirinya sebagai buku, bisa jadi konten tersebut adalah buku.

Genre yang tidak kami cantumkan

Karena Internet sangat luas, kami tidak mendaftarkan konten dengan genre:

Panduan untuk daftar konten-konten pemrograman kompetitif kami tidak seketat ini. Ruang lingkup repositori ini ditentukan oleh komunitas; jika Anda ingin menyarankan perubahan atau penambahan pada ruang lingkup yang sekarang, harap gunakan isu (issue) untuk memberikan saran.

Buku vs. Barang Lainnya

Kami tidak rewel tentang kebukuan. Berikut adalah beberapa atribut yang menandakan bahwa konten yang didaftarkan adalah sebuah buku:

Terdapat banyak buku yang kami daftarkan tidak memiliki atribut-atribut ini; Hal ini kembali ke konteks dari konten yang didaftarkan.

Buku vs. Kursus

Terkadang ini sulit untuk dibedakan!

Kursus sering kali memiliki buku teks terkait, yang akan kami daftarkan dalam daftar buku kami. Kursus memiliki materi pembelajaran, latihan, tes, catatan atau alat bantu pembelajaran lainnya. Materi pembelajaran tunggal atau video tunggal bukan sebuah kursus. Slide persentasi (biasanya berupa PowerPoint) bukan sebuah kursus.

Tutorial Interaktif vs. Hal-hal lain

Jika Anda dapat mencetaknya dan isi tidak berubah, maka itu bukan Tutorial Interaktif.

Otomatisasi