Kamis, 02 Agustus 2018

Istilah-Istilah Pada Bahasa Pemrograman Untuk Pemula (Bagian 1)

Post oleh : KN07 | Rilis : Agustus 02, 2018 | Series :

Istilah-Istilah Pada Bahasa Pemrograman Untuk Pemula (Bagian 1)





Dalam dunia pemrograman komputer, ada banyak sekali jargon atau istilah yang dapat membuat pemula yang baru belajar mengalami kebingungan. Berikut ini beberapa istilah yang dapat membantu Anda memahami bahasa pemrograman yang sedang Anda pelajari.

Dynamic typing

Suatu saat Anda sedang mengobrol dengan teman sesama pemrogram dan dia berkata, “Ah, saya malas pakai JavaScript soalnya dia bahasanya dynamic typing. Lebih yakin kalau saya ngoding pakai TypeScript yang static typing.” Apa artinya?
Dynamic typing adalah karakteristik dari bahasa pemrograman yang tidak perlu mendefinisikan tipe data yang akan digunakan pada saat Anda membuat variabel dan fungsi. Interpreter dari bahasa tersebut yang akan menebak tipe data apa yang akan digunakan pada saat program dijalankan.
Kelemahan dari bahasa dynamic typing adalah pengecekan tipe data baru dilakukan saat program berjalan (di runtime process), sehingga kalo ada tipe data yang tidak sesuai maka program akan crash. Misal sebuah fungsi yang Anda buat seharusnya menerima parameter berbentuk String, ternyata yang Anda masukkan malah Array maka program akan crash saat program sudah berjalan.
Sedangkan keuntungannya, proses pengembangan program akan lebih cepat karena Anda tidak perlu menentukan tipe data secara strict di fase coding. Bahasa-bahasa yang menggunakan dynamic typing cocok digunakan untuk melakukan prototyping atau untuk membangun program yang memiliki kebutuhan mengubah-ngubah fitur dalam waktu cepat.
Beberapa contoh bahasa yang sifatnya dynamic typing, yaitu JavaScript, PHP, Ruby, Clojure, R, dan Python.

Static typing

Kebalikan dari dynamic typingstatic typing merupakan sifat dari bahasa pemrograman yang membutuhkan definisi tipe data secara eksplisit saat Anda membuat variabel dan fungsi. Biasanya bahasa-bahasa yang sifatnya static typing membutuhkan satu proses tambahan yang bernama kompilasi atau build process. Pada saat ini lah pengecekan seluruh kesalahan dilakukan oleh compiler, sehingga program yang sudah sukses dikompilasi sudah hampir bisa dipastikan berjalan mulus pada saat runtime process.
Kelemahannya menggunakan bahasa yang static typing adalah proses pengembangan program akan lebih lambat dari sisi waktu. Karena setiap Anda selesai melakukan pemrograman dan ingin mencoba menjalankan, maka Anda akan menunggu beberapa saat untuk menyelesaikan proses kompilasi kode Anda.
Sedangkan keuntungannya, program yang Anda hasilkan akan menjadi lebih stabil saat dijalankan. Karena sebagian besar kesalahan sudah ditangkap pada saat proses kompilasi atau build. Bahasa-bahasa static typing cocok digunakan jika Anda membangun program yang sifatnya critical atau tidak boleh ada kesalahan pada saat program berjalan, misal sistem perbankan, firmwareuntuk microcontroller, payment gateway, dll.
Beberapa contoh bahasanya yaitu Java, C, C++, C# (sebelum versi 3.0), dan TypeScript.

Type inference

Type inference banyak digunakan oleh bahasa-bahasa pemrograman yang relatif baru. Ini merupakan teknik gabungan antara kemudahan pemrograman pada dynamic typing dan keamanan pada static typing. Tetap membutuhkan proses kompilasi, tetapi Anda tidak perlu mendeklarasikan tipe data secara eksplisit pada saat membuat variabel dan fungsi karena compiler-nya sudah pintar untuk menebak tipe data yang Anda gunakan.
Beberapa contoh bahasanya yaitu C# (versi 3.0 ke atas), F#, Kotlin, Scala, Haskell, OCaml, dan Swift.

Diharapkan setelah membaca bagian pertama ini, Anda mulai dapat memahami karakteristik dari bahasa pemrograman yang sedang Anda pelajari.

google+

linkedin