Perbedaan bahasa pemograman static typing dan dynamic typing

Perbedaan bahasa pemograman static typing dan dynamic typing

#programming #bahasa pemograman
Alfarizi
13 May 2022

Perbedaan bahasa pemograman static typing dan dynamic typing image

Dalam bahasa pemograman tipe data adalah bagian penting karena tipe data akan memberitahu komputer tentang bagaimana data akan di olah kemudian.Beberapa bahasa pemograman memiliki cara pembuatan variabel yang berbeda ada yang dibuat bersama tipe data nya seperti c++ dan juga ada yang langsung dibuat tanpa tipe data seperti python,lalu kenapa c++ tidak seperti python saja agar lebih mudah?Ini dikarenakan c++ dan python berbeda kelompok dalam mendefinisikan tipe data,c++ masuk ke dalam bahasa static typing dan python masuk ke dalam dynamic typing.Lalu apa itu static dan dynamic typing?Berikut adalah penjelasan bahasa static dan dynamic typing.

Jenis bahasa static typing

Dalam bahasa indonesia static typing berarti bertipe statis,jadi tipe data variabel tidak bisa dirubah secara langsung.Bahasa static typing adalah bahasa yang tipe datanya harus ada saat pembuatan setiap variabel atau fungsi di dalam program.Dalam bahasa jenis static typing sebuah variabel yang akan diubah nilai nya,nilai yang baru harus mengikuti tipe data saat pembuatan variabel,misal jika sebuah variabel dibuat dengan tipe data int maka jika kita ingin memasukan atau mengubah nilai variabel,nilai yang baru haruslah sebuah int atau bilangan bulat jika tidak pasti akan ada error yang muncul,contoh pembuatan variabel pada 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;

Umumnya bahasa jenis static typing adalah bahasa yang menggunakan compiler jadi jika ada error yang muncul,compiler akan memberitahu sebelum program di eksekusi oleh komputer,selain itu karena kita yang mendefinisikan tipe data,bahasa static typing akan di eksekusi 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 dari bahasa jenis ini adalah penulisannya yang sedikit lebih rumit dan lama apalagi saat membuat tipe data kompleks seperti array,list, atau dictionary.Contoh bahasa static typing : c,c++,rust dan lainnya.

Jenis bahasa dynamic typing

Kebalikan dari static typing,dynamic typing memilki arti bertipe dinamis jadi tipe data variabelnya bisa berubah ubah selama program 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 dari variabel dengan tipe data apapun tanpa ada erorr yang muncul.Contoh pembuatan variabel pada 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 pemograman jenis ini juga lebih simpel daripada jenis static typing karena tidak perlu memberi tahuinterpreter tentang tipe data yang digunakan ,tapi karena ke simpelan itulah ada kekurangan yang muncul contohnya karena tidak ada tipe data kode menjadi agak sulit dibaca apalagi jika jumlah kodenya sangat banyak,dan karena kebanyakan bahasa dynamic typing menggunakan intepreter error tidak muncul sampai saat menjalankan baris yang error dan bisa membuat proses debugging agak lebih sulit dibanding jenis bahasa static typing yang diberitahu saat melakukan kompilasi sebelum di eksekusi,selain itu karena tipe data baru ditambahkan saat melakukan eksekusi proses eksekusi jadi sedikit lebih lambat daripada jenis bahasa static typing.Contoh bahasa dynamic typing : python,php,javascript,ruby,lua,perl dan lainnya.

Dan itulah penjelasan tentang perbedaan antara bahasa static dan dynamic typing.

sumber :


Suka dengan konten saya?Dukung saya di trakteer