Membaca dokumentasi pemrograman secara offline

Dokumentasi adalah kitab paling ‘sahih’ dan wajib dibaca setiap programmer. Dokumentasi biasanya berisi penjelasan, petunjuk, tutorial, dan referensi tentang fungsi tertentu.

Biasanya kita akan menemukan dokumentasi pada website resemi.

Contoh:

Dokumentasi untuk Android, bisa kita temukan di Web Dokumentasi Android. Lalu untuk PHP, bisa kita temukan di php.net. Dokumentasi lainnya, kamu bisa cari sendiri di Google dengan kata kunci "sesuatu documentation".

Googling Dokumentasi

Tapi kadang…

Pada suatu kondisi tertentu, kita tidak memiliki koneksi internet. Bisa jadi karena kuota habis atau internet lagi ganguan.

Lalu pingin baca dokumentasi.

Maka di sinilah waktu yang tepat untuk menggunakan dokumentasi offline.

Dokumentasi Offline untuk programmer

Nah, di sini ada beberapa cara yang bisa kamu lakukan untuk membaca dokumentasi secara offline:

1. File Dokumentasi di Linux

Linux menyimpan semua file dokumentasi pada direktori /usr/share/doc. Semua aplikasi dan library yang kita install, akan ada dokumentasinya di sini.

File dokumentasi di Linux

Isinya beragam, ada yang cuma penjelasan tentang lisensi dan changelog. Ada juga yang sangat lengkap.

Biasanya, dokumentasi yang lengkap akankita temui pada direktori yang namanya diakhiri dengan -doc. Contohnya: nodejs-doc, python-doc, libgtk-doc, dll.

Ini adalah contoh isi python-doc:

Folder dokumentasi Python di Linux

Di dalamnya terdapat sekumpulan file HTML yang berisi dokukemntasi python. Mari kita coba buka index.html.

Dokumentasi Python Offline di Linux

Yap, dengan demikian kita bisa membaca dokumentasi Python secara offline.

Jika folder python-doc tidak ada di dalam komputermu, bisa jadi karena kamu belum menginstal paket dokumentasi untuk python.

Cara installnya gimana?

Cukup dengan perintah berikut:

sudo apt install python-doc # untuk python 2
sudo apt install python3-doc # untuk python 3

Untuk dokumentasi yang lainnya, kamu bisa cari sendiri paket yang memiliki akhiran nama -doc. Silahkan manfaatkan aplikasi seperti Apper untuk mencarinya.

Mencari paket dokumentasi

2. Man, Info dan Help di Linux/Unix

Pada sistem operasi Linux dan Unix, perintah man dan info adalah perintah yang digunakan untuk menampilkan manual dari suatu program.Sedangkan help adalah argument untuk menampilkan bantuan secara singkat.

Contoh:

Misalnya saya ingin melihat dokumentasi dari perintah apt, maka tinggal ketik saja:

man apt

Atau bisa juga:

info apt

Maka akan muncul penjelasan lengkap tentang perintah ini.

Manual untuk APT

Untuk keluar dari halaman man, tekan q.

Tapi perlu kamu ketahui.. tidak semua perintah memiliki halaman manual (man page).

Karena itu, kita masih punya opsi lain untuk membuka dokumentasi, yakni argumen help.

Argumen help adalah argument khusus untuk menampilkan bantuan singkat dari sebuah perintah.

Kadang ditulis help saja, kadang juga ditambahkan prefiks --help atau disingkat -h saja.

Mari kita coba:

Help untuk GCC

Silahkan coba juga sendiri untuk melihat dokumentasi yang lainnya:

java -help
javac -help
kotlin -help
hugo help
man php
man node
php --help

Jadi kamu tak perlu googling lagi buat nyari penjelasan tentang perintah tertentu.

3. Gunakan Aplikas KHelpCenter

KHelpCenter adalah aplikasi berbasis GUI yang berisi penjelasan tentang aplikasi di KDE. Aplikasi ini secara default ada di KDE.

Aplikasi KHelpCenter

Sebenarnya.. bisa dibilang ini bentuk GUI dari man page. Kelebihan yang ditawari selain berbasis GUI adalah KHelpcenter memiliki penjelasan tentang aplikasi-aplikasi KDE yang sudah terinstal.

Aplikasi KHelpCenter

Ini seperti buku manual untuk aplikasi.

4. Gunakan Aplikasi Devhelp

DevHelp adalah aplikasi untuk membaca dokumentasi API dari GNOME. Aplikasi ini berisi dokumentasi tentang ATK, GDK 3, GIO, GLib, GObject, Pango, dan tentunya GTK+ yang merupakan teknologi dasar dari GNOME.

Aplikasi Devhelp

Aplikasi ini dapat kamu install dengan perintah:

sudo apt install devhelp

Isi default dari Devhelp diambil dari website resmi dokumentasi GNOME. Tapi tidak semua dokumentasi diambil, hanya yang penting-penting saja. Contoh, pada versi Devhelp yang saya gunakan saat ini belum ada dokumentasi tentang GTK+ 4. Tapi di website GNOME sudah ada.

Devhelp saya rekomendasikan buat kamu yang ingin membuat aplikasi desktop dengan teknologi dari GNOME dengan bahasa C dan C++. Sementara untuk penggunaan bahasa lain belum tersedia di sini, seperti PyGTK dan Vala.

Tapi tenang saja.. ini bisa kita tambah kok.

Caranya gimana?

Caranya kita hanya perlu menginstal paket yang memiliki akhiran atau -doc.

Contoh:

sudo apt install python3-doc

Paket python3-doc adalah paket yang berisi dokumentasi Python versi 3. Isi dari paket inilah yang akan digunakan oleh Devhelp sebagi buku (book).

Tapi perlu diketahui:

Tidak semua paket yang berakhiran -doc dapat dibaca oleh Devhelp. Sebagai contoh paket nodejs-doc, isi paketnya seperti ini:

Dokumentasi Nodejs

Dokumentasi ini tidak bisa dibaca oleh Devhelp, karena tidak memiliki daftar isi yang dibutuhkan oleh Devhelp.

Semua buku untuk Devhelp dapat kita simpan di dalam direktori /usr/share/devhelp/books/ atau ~/.devlhelp/books/ dengan bentuk direktori maupun symbolic link.

Oh iya, Kamu juga bisa mencari buku untuk Devhelp di repositori ini: https://github.com/rezzafr33/devhelp-books

5. Gunakan Aplikasi Dash atau Zeal

Dash adalah aplikasi untuk membuka dokumentasi pada Mac. Aplikasi ini free, tapi ada premium upgrade.

Aplikasi Dash

Sedangkan kalau mau alternatifnya, bisa pakai Zeal yang 100% free. Zeal juga akan menggunakan docsets dari Dash dan bisa dipakai pada sistem operasi Linux, Mac, dan Windows.

Aplikasi Zeal

Saya sangat merekomendasikan Dash atau Zeal buat kamu yang ingin membaca dokumentasi secara offline.

Karena jika dibandingkan dengan aplikasi lainnya, Dash dan Zeal memiliki dokumentasi (docsets) yang lengkap dan juga ter-update.

6. Gunakan Devdocs.io

Devdocs.io adalah aplikasi PWA untuk membuka berbagai macam dokumentasi. Devdocs.io juga memiliki dokumentasi yang lengkap.

Devdocs.io

Devdocs.io memanfaatkan indexDB yang ada di browser untuk menyimpan docsets secara offline. Kekurangannya, saat kita menyimpan terlalu banyak dokumentasi, ia bisa saja dihapus oleh browser.

Tapi tenang saja…

Devdocs juga ada versi desktopnya.

Devdocs versi desktop

Ini bisa kamu dowanload di website Devdocs Desktop dan tersedia untuk Windows, Linux, dan Mac.

7. Build Sendiri Dokumentasinya

Kadang ada beberapa dokumentasi yang tidak disediakan oleh aplikasi seperti Dash, Zeal, dan Devdocs.

Lalu kita membutuhkannya untuk dibaca secara oflline.

Cara yang bisa dilakukan adalah dengan build sendiri dokumentasinya. Biasanya, dokumentasi dibuat dengan static site generator seperti Jekyll dan Hugo.

Ini pernah kita coba pada dokumentasi Bootstrap 4.

Menjalankan Server Jekyll

Hasilnya:

Dokumentasi Boostrap 4 offline

8. Download Versi PDF dan EPub

Beberapa bahasa pemrograman dan framework juga menyediakan dokumentasi dalam bentuk file PDF dan EPub untuk digunakan secara offline.

Contoh dokumentasi Python.

Download dokumentasi Python

File PDF ini bisa kita bukat dengan aplikasi pembuka PDF seperti Okular, Adobe Reader, Foxit Reader, dll. Sementara EPub biasanya dibuka dengan aplikasi khusus sepeti Epub Reader.

Saya biasanya menggunakan Calibre untuk menyimpan ebook, PDF, dan membuka EPub.

Aplikasi Calibre

9. Manfaatkan Localhost

Selain menggunakan PDF, beberpa dokumentasi juga dibuat dalam bentuk HTML statis. File HTML ini bisa kita simpan di dalam htdocs atau /var/www agar bisa dibuka dari localhost atau 127.0.0.1.

Localhost

Saya biasanya akan memuat direktori baru di dalam htdocs atau /var/www/ dengan nama docs. Lalu mengisinya dengan sekumpulan dokumentasi HTML yang sudah di-download.

Web offline

Untuk menghemat space, saya biasanya hanya menyimpan simbolik link. Karena ada beberapa tools seperti Android SDK dan Unity3D menyertakan dokumentasinya sendiri. Jadi tinggal buat simbolik link saja ke sana.

…dan dokuemtasi dari Zeal juga sebenarnya HTML. Coba saja cek sendiri di folder ~/.local/share/Zeal/Zeal/docsets/.

Lalu dokumentasi ini bisa diakses dari http://localhost/docs/.

Web offline

Kekurangan dari cara ini adalah, kita tidak bisa melakukan pencarian seperti menggunakan Dash, Zeal, dan DevHelp.

Akhir Kata…

Nah itulah beberapa cara yang bisa kamu lakukan untuk membaca dokumentasi secara offline.

Jadi lebih hemat bandwidth dan kuota, dan tentunya juga lebih cepat.

Server Paling cepat

Dari beberapa cara di atas, yang sering saya gunakan adalah dengan DevHelp, Zeal, DevDocs, dan via localhost.

Kalau kamu, lebih suka pakai cara yang mana?