Blog

Semua blog


Alasan html bukan bahasa pemograman

26 May 2022
Alfarizi
#front end #web dev #bahasa pemograman Kita tahu jika html adalah salah satu bahasa penting pada sebuah website dan menjadi wadah untuk bahasa pendukung lain yaitu css dan javascript,tapi apakah html termasuk bahasa pemograman,berikut adalah penjelasannya? ## Kenapa html bukan bahasa pemograman? Jawabannya singkatnya bahkan sudah ada di kepanjangan dari html itu sendiri,yaitu Hypertext **Markup language**,atau dalam bahasa indonesia berarti bahasa markup hypertext.Lalu untuk jawaban panjangnya,html termasul ke dalam bahasa markup, yang mana bahasa markup hanya akan mengatur bagaimana sebuah dokumen di tampilkan, dan untuk html ia akan mengatur bagaimana tampilan sebuah web seperti mengatur heading,menebalkan huruf,membuat tabel dan lain sebagainya,karena pada dasarnya web adalah kumpulan dokumen yang dapat di akses melalui internet.Bahasa markup seperti html tidak bisa melakukan apa yang biasa dilakukan oleh bahasa pemograman yaitu melakukan penyelesaian masalah logika,karena html tidak memilki if statement,looping dan fitur lain yang biasa kita temukan dalam bahasa pemograman.Jadi sebenarnya kurang tepat menyebut html sebagai "Bahasa pemograman html" karena html sama sekali tidak bisa melakukan penyelesaian masalah logika ataupun matematika. ## Tools untuk html Lalu apakah ada software/tools yang membantu kita untuk menambah fitur pemograman pada html?tentu saja ada,beberapa contohnya ada framework javascript seperti react,vue atau svelte dan juga ada jenis tools lain yang membantu kita membawa fitur pemograman ke html yaitu template engine.Template engine sebenarnya memilki tujuan yang hampir sama yaitu membuat tampilan html menggunakan bahasa pemograman ,bedanya template engine tidak hanya menggunakan bahasa javascript,contohnya ada jinja2 yang menggunakan python,blade dengan php dan Haml dengan ruby.Perbeedaan lainnya juga terletak pada letak kode diproses. Jika pada framework frontend javascript, browser langsung akan memahami javascript dan merender tampilan sesuai yang ada pada javascript,tapi pada template engine sebelum file-file untuk website dikirim ke browser client, server akan mengubah kode template tersebut menjadi html terlebih dahulu dan client akan menerima tampilan html lengkap dari server. Bahkan dengan hanya menggunakan javascript kita juga dapat membuat html dapat sedikit lebih "programble" dengan menggunakn dom(document object model). Dan itulah alasan kenapa html bukanlah bahasa pemograman. sumber: - https://ischool.syr.edu/why-html-is-not-a-programming-language/ - https://www.educative.io/edpresso/what-are-template-engines

Apa itu text editor micro

15 May 2022
Alfarizi
#programming #text editor Pasti diantara kita sudah tau atau bahkan menggunakan text editor berbasis GUI(graphical user interface) seperti vscode atau sublime text.kita tau jika text editor berbasis gui sangat mudah digunakan dan memilki tampilan yang bagus dimata,tapi kekuragannya adalah text editor jenis ini bisa sangat berat digunakan apalagi untuk laptop yang memilki hardware tua,tapi ada jenis text editor lain yang lebih ringan dari text editor berbasis GUI,yaitu text editor berbasis terminal seperti [vim](https://www.vim.org/) atau [nano](https://www.nano-editor.org/),masalahnya kebanyakan text editor jenis ini lumayan sulit saat pertama kali menggunakannya seperti shortcut yang berbeda dari biasanya atau tidak suport mouse di dalam editor ,tapi ada satu text editor berbasis terminal yang mampu memberikan kemudahan tapi juga memilki ukuran yang ringan yaitu micro.Berikut adalah penjelasan tentang apa itu micro. ## Apa itu micro Micro adalah text editor berbasis terminal yang ringan dan mudah digunakan.Tidak seperti vim atau nano,micro memilki shortcut yang umum digunakan pada text editor,seperti ctrl+c untuk copy atau ctrl+v untuk paste,micro juga mendukung penggunaan mouse di dalam editor sehingga memudahkan dalam melakukan navigasi di dalam editor.Untuk tampilan,micro memilki beberapa tema bawaan yang dapat diganti dengan mudah.Micro ditunjukan untuk menggantikan text editor pada kebanyakan distro linux yaitu nano.Berikut adalah tampilan micro(sumber:https://micro-editor.github.io/) : ![image](https://micro-editor.github.io/screenshots/micro-monokai.png) ## Fitur fitur micro Micro memiliki beberapa fitur sebagai berikut. 1. Shortcut yang umum digunakan dan dapat di kustomisasi 2. Tampilan yang modern dan tema yang mudah diubah 3. Plugin yang mudah dinstall dengan command 4. Support sintaks hilighting untuk lebih dari 130 bahasa 5. Mudah dikonfigurasi 6. Mendukung lebih dari satu kursor seperti pada vscode atau sublime text 7. Ukuran yang ringan,hanya 4mb an 8. Cross platform,dapat digunakan di berbagai os ## Cara instalasi micro Berikut adalah cara instalasi micro di beberapa os #### Linux Untuk instalasi pada linux kita dapat menggunakan package manager bawaan dari distro yang digunakan. Untuk distro berbasis ubuntu : ```bash sudo apt install micro ``` Untuk distro berbasis arch : ```bash sudo pacman -S micro ``` Untuk distro berbasis fedora : ```bash sudo dnf install micro ``` #### Windows Untuk windows instalasi dapat dilakukan menggunakan package manager seperti [choco](https://chocolatey.org/) dan [scoop](https://scoop.sh/). menggunakan choco : ```bash choco installs micro ``` menggunkan soop : ```bash scoop install micro ``` #### Mac Untuk mac dapat menggunakan package manager brew untuk menginstall micro. ```bash brew install micro ``` ## Penggunaan sederhana Jika sudah selesai melakukan instalasi micro kita dapat menggunakan micro dengan mengetikan command : ```bash micro nama_file ``` Nah `nama_file` itu akan menjadi nama file yang akan dibuka,jika tidak ada,maka micro akan membuat file kosong dan kita dapat menyimpannya dengan shortcut ctrl+s.Jika ingin melihat manual penggunaan micro kita dapat membukanya dengan shortcut ctrl+g dan alt+g untuk membuka daftar shortcut yang dapat digunakan pada text editor. Dan itulah penjelasan tentang apa itu text editor micro. sumber : - https://blog.arsmp.com/komputer/linux/micro-terminal-base-text-editor/ - https://www.geeksforgeeks.org/micro-lightweight-terminal-based-text-editor/ - https://www.makeuseof.com/micro-text-editor-linux/ - https://github.com/zyedidia/micro - https://micro-editor.github.io/

Perbedaan session dan cookies

13 May 2022
Alfarizi
#web dev #backend Dalam pengembangan web terdapat istilah session dan cookies keduanya memiliki fungsi yang sama yaitu sebagai penyimpanan sementara data user yang masuk ke dalam web dan data itu dapat digunakan kembali oleh user,misalnya data saat login sukses,user tidak perlu melakukan login setiap mengunjungi web.Meskipun memiliki fungsi yang sama session dan cookies adalah 2 hal yang berbeda.Berikut adalah perbedaan session dan cookies. ## Apa itu session Session adalah kumpulan data sementara yang disimpan di server.Session dibuat saat user masuk atau login ke sebuah website dan akan dihapus jika user tersebut logout atau menutup browser di perangkatnya.Data session yang di simpan di server memiliki keamanan yang baik karena disimpan dalam bentuk binary di server.Data yang disimpan pada session dapat berupa tipe data apapaun dan dapat menyimpan hingga 128mb dan juga dapat menyimpan lebih dari satu variabel session.Session biasanya digunakan untuk menyimpan informasi sensitif seperti id user,karena data yang di simpan di server sulit untuk diubah. ## Apa itu cookies Jika session adalah data yang disimpan pada server maka cookies adalah data yang disimpan pada browser.Cookies ini berbentuk teks dan memiliki batas ukuran yang sangat kecil yaitu hanya 4kb dan hanya mampu menyimpan tipe data string serta terbatas jumlah variabelnya.Cookies dibuat saat user masuk ke sebuah web yang datanya dikirim lalu di simpan di browser dan dapat dihapus sesuai waktu yang ditentukan oleh user di browser nya.Cookies ini dapat menyimpan data saat user menjelajahi web jadi cookies ini biasanya digunakan untuk keperluan periklanan.Dari segi keamanan cookies kurang aman daripada session karena cookies disimpan di user dan bisa saja user melakukan hal yang tidak baik melalui cookies. ## Perbedaan session dan cookies Session dan cookies memiliki perbedaan sebagai berikut : ##### Penyimpanan - Session : disimpan di server - Cookies : disimpan di browser ##### Batas penyimpanan data - Session : Dapat menyimpan data hingga 128 mb - Cookies : Dapat menyimpan data hingga 4kb ##### Kapan dihapus - Session : Dihapus saat user logout atau menutup browser - Cookies : Dihapus sesuai waktu yang ditentukan user di browser ##### Keamanan - Session : Memiliki keamanan yang baik karena data di simpan di server dan berbentuk binary - Cookies : Memiliki keamanan yang kurang karena di simpan di browser dan hanya dalam bentuk teks ##### Jumlah data yang disimpan - Session : Dapat menyimpan lebih banyak variabel daripada cookies - Cookies : Dapat menyimpan variabel berjumlah terbatas Dan itulah perbedaan session dan cookies. sumber : - https://perbedaan.budisma.net/perbedaan-session-dan-cookies.html - https://www.geeksforgeeks.org/difference-between-session-and-cookies/ - http://diatas7000kaki.blogspot.com/2018/03/perbedaan-cookies-dan-session.html - https://www.javatpoint.com/session-vs-cookies - https://www.guru99.com/difference-between-cookie-session.html

Perbedaan bahasa pemograman static typing dan dynamic typing

13 May 2022
Alfarizi
#programming #bahasa pemograman 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++ : ```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 : ```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 : - https://pythonistaplanet.com/difference-between-statically-and-dynamically-typed-languages/ - https://refactory.id/post/5974-static-typing-dan-dynamic-typing-apa-bedanya/ - https://blog.dot.co.id/static-typing-vs-dynamic-typing-dcb00da5d986 - https://anwarkholidi.wordpress.com/2020/09/13/statically-typed-vs-dynamically-typed-dalam-bahasa-pemrograman/

Perbedaan compiler dan interpreter

11 May 2022
Alfarizi
#programming #bahasa pemograman Dalam dunia pemograman kita harus berkomunikasi dengan komputer untuk memberikan instruksi dan perintah ke komputer.Tapi sayangnya komputer tidak bisa memahami bahasa manusia dan perlu bahasanya sendiri, yaitu bahasa mesin.Bahasa mesin tidak memiliki huruf atau simbol seperti bahasa manusia melainkan hanya memiliki 0 dan 1 sebagai instruksi menjalankan perintah.Bahasa mesin sangat sulit dipahami dan juga sulit untuk menulis perintah komputer dengan bahasa tersebut.Maka diciptakanlah program yang mampu menerjemahkan perintah manusia dalam bentuk source code(kode sumber) ke bahasa mesin, yaitu compiler dan interpreter.Berikut adalah pengertian dan perbedaan untuk kedua program tersebut. ### Pengertian compiler Compiler adalah program yang menerjemahkan seluruh source code secara langsung dan kemudian menerjemahkannya ke bahasa mesin.jika ada error maka compiler akan langsung menampilkannya dan langsung memberhentikan proses compiling.output yang dihasilkan compiler adalah file executable yang sesuai dengan os yang digunakan.Contoh bahasa compiler adalah : C,C++,C#,D,Go,Haskell dan lain sebagainya. ### Pengertian interpreter Berbeda dengan compiler interpreter tidak langsung menerjemahkan source code, melainkan langsung dieksekusi perbaris.interpreter akan terus mengeksekusi kode hingga muncul error pada baris yang di sedang di eksekusi.Bahasa interpreter tidak memiliki output jadi untuk mengeksekusi program di komputer lain kita butuh source code dan jenis interpreter yang sama.Contoh bahasa interpreter adalah : Python,Ruby,PHP,Javascript,PHP dan lain sebagainya. Untuk menentukan mana yang lebih baik,bahasa pemograman jenis compiler atau intepreter memiliki keuntungan dan kelemahannya masing masing,seperti bahasa yang berbasis compiler memiliki kecepatan eksekusi yang lebih cepat tetapi memiliki kecepetan yang lebih lambat pada saat menerjemahkan kode dibanding dengan bahasa interpreter yang langsung mengeksekusi tanpa perlu menerjemahkan seluruh source code.Tetapi bahasa interpreter lebih lambat saat eksekusi karena tidak seperti bahasa compiler yang menerjemahkan source code ke bahasa mesin yang bisa langsung di eksekusi komputer.Jadi terserah kalian memilih jenis bahasa yang mana, keduanya memilki tujuan yang sama dan memiliki kelebihan dan keuntungannya masing masing.