Apa itu bahasa skrip?

Bahasa skrip adalah jenis bahasa pemrograman di mana instruksi dijalankan satu per satu saat runtime. Kalau bahasa pemrograman konvensional kayak C dan C++, biasanya kode dikompilasi dulu secara keseluruhan sebelum dijalankan. Bahasa skrip ngasih pendekatan yang lebih simpel, jadi lebih gampang dipelajari dan lebih cepat buat ngodingnya. Tapi, kelemahannya, bahasa skrip biasanya nggak sekuat atau seefisien bahasa pemrograman konvensional.

Apa perbedaan antara bahasa skrip dan bahasa pemrograman?

Bahasa skrip sering dibandingkan dengan bahasa pemrograman seolah-olah mereka adalah dua hal yang berlawanan. Padahal sebenarnya, bahasa skrip itu bagian dari bahasa pemrograman. Semua bahasa skrip adalah bahasa pemrograman, tapi nggak semua bahasa pemrograman adalah bahasa skrip. Biasanya perbandingan ini buat ngebedain bahasa skrip dengan bahasa pemrograman konvensional.

Kalau pakai bahasa konvensional, kode sumber dikompilasi dulu secara keseluruhan sebelum dijalankan. Walaupun tiap bahasa punya cara masing-masing dalam memproses kode, biasanya prosesnya mulai dari kode sumber yang bisa dibaca manusia, dikompilasi ke kode tingkat rendah, lalu diubah jadi kode mesin. Kode mesin ini spesifik buat arsitektur platform tempat dia dijalankan. Kadang-kadang, kode mesin ini disimpan dalam bentuk file executable yang dikirim ke prosesor. Proses ini bisa melibatkan compiler, assembler, linker, interpreter bytecode, atau komponen lainnya.

Sebaliknya, bahasa skrip biasanya langsung dikirim ke penerjemah saat runtime. Penerjemah ini bakal ngubah script jadi kode mesin dan langsung dikasih ke prosesor. Jadi, selama runtime, script tetap dalam bentuk yang bisa dibaca manusia sampai akhirnya diubah oleh penerjemah dan dijalankan.

Gambar berikut ini kasih gambaran gimana perbedaan proses antara bahasa pemrograman konvensional dan bahasa skrip dalam menyiapkan kode mesin.

Seperti yang ditunjukkan di gambar, bahasa pemrograman konvensional punya jalur proses sendiri. Misalnya kalau pakai C atau C++, kodenya dikompilasi dulu, bisa jadi ke object code atau assembly code. Kalau bentuknya assembly, bakal dikirim dulu ke assembler buat diubah jadi object code, terus ke linker buat dijadiin kode executable.

Tapi nggak semua bahasa konvensional kayak gitu. Misalnya kayak Java atau C#, compiler-nya nggak langsung ngubah ke kode mesin, tapi jadi bahasa perantara dulu, terus interpreter-nya yang ngejalanin saat runtime.

Nah, kalau bahasa skrip kayak Python atau PHP, dia tetap dalam bentuk asli (kode manusia) sampai waktu dijalankan. Saat itu baru diterjemahkan satu-satu sama interpreter jadi kode mesin.

Karena nggak dikompilasi sebelumnya, performa bahasa skrip kadang kurang maksimal. Tapi, seiring waktu, interpreter dan teknologi bahasa skrip juga makin canggih, jadi performanya juga makin baik dan bisa bersaing.

Bahasa skrip juga beda dalam hal lain. Misalnya, mereka biasanya nggak bisa bikin aplikasi mandiri. Mereka lebih bergantung sama program lain. Kontrol ke hardware juga lebih terbatas dibanding bahasa konvensional, yang bisa lebih mudah ngatur prosesor, memori, dan input/output.

Bahasa skrip juga cenderung *loosely typed*. Artinya, tipe variabel nggak ditentukan secara eksplisit, tapi berdasarkan nilai yang dikasih saat runtime, bahkan bisa berubah-ubah. Contohnya kayak script Python berikut:

# buat variabel scenery dan tampilkan nilai serta tipenya
scenery = ['mountains', 'trees']
print('\nNilai dari "scenery" adalah', scenery)
print('Tipe dari "scenery" adalah', type(scenery))# ubah nilai scenery jadi elemen kedua
scenery = scenery[1]
print('\nNilai dari "scenery" sekarang adalah', scenery)
print('Tipe dari "scenery" sekarang adalah', type(scenery), '\n')

Output-nya:

Nilai dari "scenery" adalah ['mountains', 'trees']
Tipe dari "scenery" adalah <class 'list'>
Nilai dari "scenery" sekarang adalah trees
Tipe dari "scenery" sekarang adalah <class 'str'>

Sementara itu, bahasa pemrograman konvensional biasanya *strongly typed*, jadi tipe variabel harus ditentukan dari awal dan nggak bisa sembarangan diubah. Ini bikin kesalahan bisa dideteksi lebih awal waktu kompilasi, jadi program cenderung lebih stabil.

Seiring berkembangnya bahasa skrip dan interpreter-nya, batas antara bahasa skrip dan bahasa pemrograman biasa mulai kabur. Sekarang banyak orang yang setuju kalau klasifikasi harus didasarkan pada bagaimana bahasa itu dipakai, bukan dari bahasanya itu sendiri.

Bahasa skrip dipakai buat apa aja?

Bahasa skrip biasanya dikategorikan sebagai server-side atau client-side. Bahasa skrip server-side kayak PHP, Ruby, dan Python dijalankan di server, sementara client-side kayak JavaScript, HTML, dan CSS dijalankan di komputer pengguna, biasanya lewat browser. Script client-side bisa ngurangin beban server, tapi script server-side lebih aman karena nggak keliatan oleh pengguna.

Bahasa skrip banyak banget dipakai di aplikasi web buat bikin fitur-fitur jadi lebih dinamis. Contohnya JavaScript yang sering banget dipakai di sisi klien. Makanya banyak situs web yang butuh browser buat ngaktifin script supaya tampilannya atau fitur tertentu bisa jalan.

Bahasa skrip juga dipakai di multimedia, game, otomasi tugas, sampai buat nyambungin berbagai komponen sistem. Kalau buat nyambungin komponen, biasanya disebut “glue language”. Bahasa kayak gini sering punya fitur kayak array, pengumpulan sampah otomatis (garbage collection), dll.

Contoh lainnya, di administrasi sistem, bahasa skrip dipakai buat otomasi tugas rutin. Contoh script Python berikut ini bakal nyari subdirektori dalam direktori tertentu dan ngitung isi dari masing-masing folder:

# import modul os
import os# tentukan path target
path="/users/mac3/documents/testdata/"
print('\npath:', path, '\n')# ambil subdirektori dalam path
for item in os.listdir(path): 
 sub = os.path.join(path, item) 
 if os.path.isdir(sub):
  size = len(os.listdir(sub)) 
  print(item + ': ' + str(size) + ' items')
print('\n')

Output-nya kayak gini:

path: /users/mac3/documents/testdata/
TestFolderH: 5 items
TestFolderA: 21 items
TestFolderF: 18 items
... (dan seterusnya)

Script bisa jauh lebih kompleks lagi, terutama buat tugas-tugas otomatisasi. Bahasa skrip juga dipakai di pelaporan, statistik, ekstensi software, pemrosesan teks, pemrograman backend, embedded system, pengujian software, dan masih banyak lagi.

Apa saja contoh bahasa skrip?

Bahasa skrip umumnya lebih mudah dipakai dibanding bahasa pemrograman konvensional. Kodenya biasanya lebih simpel, gampang dibaca, ditulis, dan dipelihara. Berikut beberapa contoh bahasa skrip yang populer:

  • AppleScript. Bahasa skrip buatan Apple buat bikin program kecil (applet) kayak bot yang bisa ngatur data multimedia secara otomatis.
  • Bash. Versi gratis dari Bourne Shell yang biasa dipakai di sistem Linux dan GNU.
  • Bourne shell. Shell Unix pertama, juga dikenal dengan nama program-nya: sh.
  • C shell. Shell script dengan sintaks mirip bahasa C, cocok buat programmer yang terbiasa dengan C.
  • JavaScript. Bahasa skrip buatan Netscape, punya fungsi mirip Visual Basic atau Perl.
  • Korn shell. Shell yang gabungin fitur dari C shell dan Bourne shell.
  • LotusScript. Bahasa skrip buat pengembangan berbasis objek di aplikasi IBM.
  • Perl. Bahasa skrip dengan sintaks kayak C, bisa dikompilasi sebelum eksekusi.
  • PHP. Bahasa skrip umum yang banyak dipakai buat pengembangan web di server Linux.
  • PowerShell. Bahasa skrip buat otomasi tugas-tugas administrasi di Windows.
  • Python. Bahasa skrip yang simpel tapi powerful. Banyak dipakai di berbagai bidang.
  • Ruby. Bahasa skrip dinamis dan open source, sintaksnya gampang dibaca dan dipahami.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *