Kita yang sudah lama berkecimpung di dunia IT atau pemrograman sudah tidak asing lagi dengan istilah statically typed dan dynamically typed. Jadi apa sebenarnya yang dimaksud dengan bahasa pemrograman yang diketik secara statis dan yang diketik secara dinamis?
>> Diketik Secara Statis
Bahasa pemrograman yang menggunakan pengetikan statis biasa disebut dengan pengetikan statis
Pada pemrograman dengan tipe statis (statically typed) ini kita diharuskan untuk mendeklarasikan setiap variabel dan fungsi yang kita buat di awal pemrograman, walaupun nantinya variabel tersebut dapat kita gunakan di tempat lain (baris) tanpa harus mendeklarasikannya kembali
Seperti pada contoh pada gambar diatas, kita mendeklarasikan variabel 1 dan variabel 2 dengan tipe data Int (Integer). Namun pada baris berikutnya kita tidak perlu lagi mendeklarasikan tipe datanya, cukup menuliskan nama variabelnya saja
Memang ketika kita menggunakan tipe pemrograman statis, dibutuhkan waktu lebih lama untuk mendeklarasikan setiap variabel yang kita gunakan. Namun cara ini sangat berguna untuk menterjemahkan program yang telah kita buat karena memiliki deskripsi yang lengkap, mudah dipahami dan enak dibaca
Ciri kedua dari pemrograman yang menggunakan tipe statis adalah perlunya proses kompilasi oleh compiler. Pemrograman tipe statis ini juga akan berhenti jika ditemukan kesalahan selama proses kompilasi program. Hal ini dapat bermanfaat bagi programmer untuk mengetahui apakah ada kesalahan pada program yang telah dibuat
Contoh program yang menggunakan tipe statis adalah Java, C, C++, Pascal
>> Diketik Secara Dinamis
Bahasa pemrograman yang menggunakan pengetikan dinamis tidak memerlukan deklarasi tipe data variabel dalam pemrogramannya. Variabel akan menyesuaikan dengan nilai yang diisi. Inilah salah satu kelebihan dari dynamically typed, sehingga program yang kita buat akan terlihat lebih sederhana dan waktu yang dibutuhkan akan lebih cepat.
Program yang diketik secara dinamis tidak memerlukan proses kompilasi terlebih dahulu, sehingga jika kita melakukan kesalahan dalam mengubah variabel pada program yang kita buat, maka akan muncul error pada saat kita menjalankan aplikasi yang kita buat.
Dalam bahasa pemrograman, tipe data merupakan bagian yang penting karena tipe data akan memberitahu komputer bagaimana data tersebut nantinya akan diproses. Beberapa bahasa pemrograman memiliki cara pembuatan variabel yang berbeda-beda, ada yang dibuat dengan tipe datanya seperti c++ dan ada juga yang langsung dibuat tanpa tipe data seperti python, lalu kenapa c++ tidak seperti python saja agar lebih mudah? dan python adalah kelompok yang berbeda dalam mendefinisikan tipe data, c++ memasuki bahasa pengetikan statis dan python memasuki pengetikan dinamis. Lalu apa itu pengetikan statis dan dinamis Berikut adalah penjelasan pengetikan statis dan dinamis
Jenis bahasa pengetikan statis
Dalam bahasa Indonesia, static typing berarti tipe statis, jadi tipe data variabel tidak dapat diubah secara langsung. Bahasa pengetikan statis adalah bahasa yang tipe datanya harus ada saat membuat setiap variabel atau fungsi dalam program. Pada bahasa pengetikan statis suatu variabel yang akan diubah nilainya, maka nilai baru harus mengikuti tipe data pada saat membuat variabel tersebut, misalnya jika variabel dibuat dengan tipe data int maka jika kita ingin memasukan atau mengubah nilai dari variabel, nilai baru harus int atau bilangan bulat, jika tidak yakin, akan muncul kesalahan, misalnya membuat variabel di c++
// pembuatan variabel dengan tipe data int(bilangan bulat) int angka; // memasukan angka 6 ke dalam variabel angka = 6; // error,karena tipe data yang di masukan adalah string sedangkan tipe data variabel nya adalah int(bilangan bulat) angka = "Hallo"; cout << angka;Pada umumnya bahasa static typing adalah bahasa yang menggunakan compiler, jadi jika ada error maka compiler akan memberitahu sebelum program dijalankan oleh komputer, selain itu karena kitalah yang menentukan datanya. type, bahasa pengetikan statis akan dieksekusi lebih cepat dan juga membantu proses pengembangan karena setiap variabel atau fungsi yang dibuat memiliki tipe data yang jelas dan tidak ambigu, yang pasti kekurangan dalam bahasa jenis ini adalah penulisannya sedikit lebih banyak rumit dan panjang, terutama saat membuat tipe data yang kompleks seperti array, daftar, atau kamus. Contoh bahasa pengetikan statis. c, c++, karat dan lain-lain
Jenis bahasa pengetikan dinamis
Kebalikan dari pengetikan statis, pengetikan dinamis memiliki arti tipe dinamis, sehingga tipe data variabel dapat berubah saat program sedang berjalan. Setiap variabel atau fungsi yang dibuat tidak perlu menggunakan tipe data karena tipe data pada variabel akan disesuaikan saat program dijalankan. Kita dapat dengan bebas mengubah nilai variabel dengan tipe data apapun tanpa muncul error. Contoh pembuatan variabel di python
# tidak ada error meski setiap baris variabel "a" memiliki nilai yang berbeda tipe data a = 1 a = "yes" a = {"a":1,"b":2} print(a) _Penulisan sintaks pada bahasa pemrograman jenis ini juga lebih sederhana daripada pengetikan statis karena tidak perlu memberi tahu juru bahasa tentang jenis data yang digunakan, tetapi karena kesederhanaan itu ada kekurangan yang muncul, misalnya karena tidak ada jenis data, kode menjadi cukup sulit untuk dibaca apalagi jika jumlah kodenya sangat banyak, dan karena kebanyakan bahasa pengetikan dinamis menggunakan interpreter, kesalahan tidak muncul hingga menjalankan garis kesalahan dan dapat membuat proses debug agak lebih sulit daripada pengetikan statis tipe bahasa yang diceritakan saat kompilasi sebelum eksekusi, selain itu karena tipe data baru yang ditambahkan saat melakukan eksekusi proses eksekusi sedikit lebih lambat dibandingkan dengan tipe bahasa pengetikan statis. Contoh bahasa pengetikan dinamis. python, php, javascript, ruby, lua, perl dan lainnya