Sublime Text GCC C

[intense_panel shadow=”5″ border=”1px solid #a8a5a5″ margin_top=”1″]

Pada beberapa post sebelumnya telah saya perkenalkan Sublime Text, dengan contoh untuk pemrograman Arduino dan Atmel AVR, bahasa Python, maupun bahasa Lua. Untuk kali ini saya hanya akan pasting catatan mengenai konfigurasi Sublime Text (baik Sublime Text 2 maupun Sublime Text 3) untuk kode program dalam bahasa C. Tepatnya dengan GCC non AVR (misalnya untuk PC berbasis Intel).

Yang saya temukan konfigurasi untuk ST 2 agak berbeda dengan konfigurasi ST 3 (yang sampai saat saya tulis ini masih dalam tahap beta).

[/intense_panel]
[su_panel border=”3px solid #00FF33″ radius=”10″]

Pertama dimulai dari konfigurasi untuk Sublime Text 2 (yang kadang-kadang disebut sebagai ST2 atau ST 2). Terlebih dahulu pengguna perlu membuat Build System yang baru. Caranya adalah dengan memilih Tools > Build System > New Build System… . Lihat Gambar 1 berikut.

Gambar 1.

Dalam Gambar 1 terlihat file  yang disediakan masih dalam bentuk dasar dan harus diisi oleh pengguna sesuai keperluan. Untuk pengaturan kali ini hasilnya nanti akan seperti pada Gambar 2. File itu bisa disimpan dengan diberi nama yang berarti, misalnya saja saya pilih kata gcc sehingga nama file  yang tadinya untitled.sublime-build menjadi gcc.sublime-build.

Gambar 2. Teks yang perlu diisi untuk konfigurasi gcc

Teks yang perlu diisikan di file seperti pada Gambar 2 dapat disalin sebagai berikut:

{
  "cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
  "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
  "working_dir": "${file_path}",
  "selector": "source.c",

  "variants":
  [
    {
      "name": "Run",
      "cmd": ["bash", "-c", "gcc '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
    }
  ]
}

Setelah konfigurasi disimpan seperti pada Gambar 2, kemudian akan tersedia pilihan untuk Build System gcc seperti terlihat pada Gambar 1.

Gambar 3. Hasil uji coba

Kode untuk uji coba pada Gambar 3 adalah sebagai berikut:

#include <stdio.h>
#include <stdint.h>
// #include <cstdint.h>

// int i;
uint8_t i;

int main(void)
{
	/* code */
	printf("Uji untuk GCC C\n");
	for(i=0; i<10; i++)
	{
		
		printf("%d ",i);


	}
	printf("\n");

	return (0);
}

Untuk melakukan Build, tekan tahan kombinasi kunci Ctrl+B.  Untuk melakukan Run, tekan tahan kombinasi kunci Crtl+Shift+B.  

Sumber rujukan:

[/su_panel]
[su_panel border=”3px solid #BA004A” radius=”10″]

Berikutnya adalah konfigurasi untuk Sublime Text 3 (yang kdang disingkat ST3 atau atau ST 3). Urutan langkahnya hampir persis sama dengan pengaturan untuk ST2, letak perbedaan yang saya temukan ada pada isi konfigurasinya. Pertama pilih Tools > Build System > New Build System…, seperti pada Gambar 1 atau bisa juga dengan cara manual yaitu membuat file  baru di:

~/.config/sublime-text-3/Packages/User/gcc.sublime-build.

Perlu  diingat folder  .config dalam kondisi hidden  tersembunyi, gunakan Ctrl+H untuk menampilkannya. Penamaan file  masih tetap sama seperti pada ST 2, file itu bisa disimpan dengan diberi nama yang berarti, misalnya saja saya pilih kata gcc sehingga nama file  yang tadinya untitled.sublime-build menjadi gcc.sublime-build. Isi file konfigurasi sebagai berikut:

{
"shell_cmd" : "gcc $file_name -o ${file_base_name}",
"working_dir" : "$file_path",
"variants":
  [
    {
      "name": "Run",
      "shell_cmd": "gcc $file_name -o ${file_base_name} && ${file_path}/${file_base_name}"
    }
  ]
}

Cara penggunaan, build dan run sama seperti pada ST2.

Sumber rujukan:

Sebagai catatan akhir, dalam post  ini dapat terlihat bahwa untuk cukup banyak hal, informasi yang kita perlukan sebenarnya sudah tersedia di Internet. Tinggal bagaimana kita mencarinya, kita pelajari, kita pahami dan kita perbandingkan. Terutama sekali untuk hal-hal yang berkenaan engineering dan technology, ada banyak hal yang sudah pernah dipikirkan, dilakukan/dicoba oleh orang-orang di tempat/negara yang lebih maju. Pada cukup banyak hal, yang sering kurang adalah ketersediaan waktu atau bahkan sekadar kemauan kita untuk berusaha menemukannya.

[/su_panel]

 

Sublime Text Lua

 

[intense_panel shadow=”11″ border=”1px solid #696161″]

Sublime Text sebagai text editor dapat dipergunakan untuk untuk melakukan pemrograman dalam berbagai bahasa pemrograman. Pada tulisan yang lalu sudah coba saya tampilkan Sublime Text dengan contoh untuk melakukan pemrograman dalam bahasa C (termasuk dialect untuk Arduino), pada artikel berikutnya telah saya sampaikan secara singkat penggunaannya untuk mempermudah pemrograman dalam bahasa Python. Pada artikel ini saya coba sampaikan secara singkat penggunaan ST (Sublime Text) untuk pemrograman dalam bahasa Lua.

[/intense_panel] [su_panel border=”2px solid #CCFF00″ radius=”10″]

Ada beberapa sumber yang menarik untuk dibaca supaya bisa mengerti apakah Lua itu. Setelah saya seleksi beberapa yang paling menarik akan saya cantumkan dalam bentuk tautan (link). Tetapi mari mulai dengan mengutip salah satu sumber, yaitu situs utama Lua:

What is Lua?

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping. lua.org >> about.html

Secara sederhana bahasa pemrograman Lua cenderung lebih dekat dengan pola penggunaan bahasa Python daripada bahasa C. Pengguna dapat langsung mencoba tiap baris kode dan memperhatikan hasil eksekusinya. Sebelum melanjutkan, Lua perlu diunduh (download) di link ini dan diinstal di sistem.

Lebih lanjut untuk mempelajari Lua, ada beberapa tutorial yang memudahkan untuk mengawali belajar memprogram dalam bahasa Lua. Saya urutkan sebagai berikut:

[/su_panel]
[su_panel border=”2px solid #A6C5FF” radius=”10″]

Setelah mengenal apakah bahasa Lua itu, maka langkah selanjutnya adalah bagaimana malakukan pengaturan agar Sublime Text dapat dipergunakan untuk mempermudah proses pengerjaan program dalam bahasa Lua.

Sebagaimana plugin atau paket lain (semisal untuk bahasa Python), instalasi paket-paket tambahan yang diperlukan untuk bahasa Lua ini akan lebih mudah dilakukan jika menggunakan Package Control.  Jika belum ter-install maka cara instalasi Package Control bisa dibaca dan diikuti pada link ini.

Gambar 1. Package Control telah terinstal dan siap untuk dipergunakan

Dua sumber informasi yang baik yang dapat dipakai untuk memandu instalasi paket untuk Lua adalah:

Berikut adalah paket-paket yang saya instal di Sublime Text untuk pemrograman dalam bahasa Lua:

LuaLove is a package for Sublime Text 2/3 with support for the Love2D API. It is based on SublimeLove, LuaSublime, and lua_snippet.

LuaExtended is a syntax definition and snippet package for Sublime Text 3.

Meskipun tertulis untuk ST 3, paket ini juga dapat berfungsi di ST 2.

Gambar 2. Contoh penggunaan LuaExtended [sumber]

Paket ini berfungsi untuk menyediakan interpreter internal sehingga pengguna dapat mencoba kode program secara interaktif. Sama seperti penggunaannya untuk bahasa Python , paket ini juga berfungsi baik untuk bahasa Lua.

Gambar 3. Penggunan REPL untuk Lua

[/su_panel]
[su_panel border=”2px solid #FF7F44″ radius=”10″]

Terakhir, kita dapat mencoba kode-kode contoh dari link pada bagian pertama artikel ini dengan Sublime Text yang telah konfigurasi sebagaimana pada bagian dua.

Gambar 4. Hasil uji Lua dengan menggunakan build (Ctrl+B)

[/su_panel]

Sublime Text Python

Sebagai text editor tentu saja Sublime Text bisa dipergunakan untuk mengerjakan berbagai program dalam banyak bahasa pemrograman. Jika pada artikel yang lalu sebagai contoh saya menunjukkan bagaimana ST (Sublime Text) bisa dipergunakan untuk program dalam bahasa C (juga dialek seperti kode program untuk papan Arduino), maka kali ini saya coba tunjukkan bagaimana ST dapat mempermudah pemrograman dalam bahasa Python.

Berbeda dengan sistem pemrogaraman dengan kompilasi seperti pada bahasa C/C++ atau Pascal, pada Python kode program “tidak dikompilasi”. Secara sederhana pemrograman di sistem Python menggunakan interpreter. Mengutip sumber rujukan FAQ pada dokumen di situs Python.org

What is Python?

Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on Windows 2000 and later.

To find out more, start with The Python Tutorial. The Beginner’s Guide to Python links to other introductory tutorials and resources for learning Python.https://docs.python.org/3.6/faq/general.html

[su_panel background=”#f7f9e8″ color=”#010101″ border=”2px solid #cccccc” radius=”1″]Jika tertarik untuk menelusuri lebih lanjut tentang diskusi seputar apakah Python merupakan bahasa yang interpreted atau compiled pembaca dapat mengakses di dua situs berikut:

  1. Is Python interpreted or compiled or both?  [stackoverflow]
  2. Is Python compiled or interpreted or both ? [quora] [/su_panel]


Gambar 1. Python di Sublime Text 2

 

  • SublimeRope

Plugin SublimeRope pada Sublime Text 2 berguna untuk membantu programmer agar dapat mendeteksi, menemukan dan mengusulkan rujukan ke suatu deklarasi. Baik pada file yang sama maupun di file yang berbeda. Contoh dapat dilihat pada Gambar 2.

Gambar 2. Contoh penggunaan SublimeRope

 

  • SublimeREPL

Salah satu kemudahan yang disediakan sedari awal pada sistem Python adalah cara pemrograman yang interaktif. Pemrogram dapat langsung melihat hasil dari perintah yang diberikannya melalui kode program. Agar kemudahan ini juga dapat dimanfaatkan di Sublime Text maka kita perlu menginstal plugin SublimeREPL.

Gambar 3. SublimeREPL dengan Python 2 sebagai default

 

Gambar 4. Penggunaan Python 3 sebagai pengganti Python 2 di SublimeREPL

 

  • SublimeLinter

SublimeLinter 3 berfungsi untuk memberikan keterangan tambahan apabila programmer melakukan kesalahan penulisan kode program. Lebih jauh mengenai linter:

A linter is a small program that checks code for stylistic or programming errors. Linters are available for most syntaxes, from Python to HTML.

SublimeLinter does not do the linting itself; it acts as a host for linting plugins. The linting plugins themselves usually do not perform linting either; they just act as a bridge between the code you type in Sublime Text and the actual linter.

Instalasi dapat dilakukan dengan menggunakan Package Control ataupun dengan cara manual, petunjuk lebih lanjut dapat dibaca di halaman ini.

Gambar 5. Pesan kesalahan berupa kesalahan identasi pada kode program