Apa Itu Coding?
Tags: csfirst, wecoded, codenewbie, computerscience
Published: 2020-01-16 08:29:14

*Artikel ini merupakan bagian dari modul Pengenalan Coding di Kelas Newbie Komunitas Coding Mum Indonesia 2020*

#Pengertian Coding

Kode adalah cara memberikan instruksi ke komputer.
Coder bertugas menulis kode (coding).
Kode mengikuti algoritma. Algoritma adalah serangkaian langkah lengkap tentang apa yang harus dilakukan disertai urutan. Resep membuat soto, cara menggosok gigi, manual menjalankan blender adalah contoh algoritma sehari-hari. 

#Apa yang Bisa Coding Lakukan

Serangkaian kode yang sudah selesai disebut program. Ada banyak macam program. Masing-masing melakukan tugas tertentu. Misalnya, Telegram adalah program yang dapat digunakan orang untuk berkomunikasi lewat internet.

Program sering dirancang untuk memecahkan masalah. Banyak program dibuat untuk laptop, tablet, dan telepon pintar. Robot, drone, dan mobil semuanya memiliki komputer di dalamnya. Mereka menggunakan program juga.
Internet juga menggunakan program. Ketika seseorang mengunjungi situs web, program untuk menampilkan gambar dan teks diperlukan. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/n6cp2hccoy76c7tf99qv.png)

#Tahapan Coding

Kita sudah tahu apa itu coding. Lalu proses coding sampai menjadi program itu bagaimana sih? Kita rehat sejenak dengan membaca buku dulu ya, berjudul Ara the Star Engineer. Diceritakan Ara ingin sekali menghitung jumlah bintang. Tapi jumlah bintang kan banyaaaak sekali. Bagaimana caranya Ara menghitung dengan cepat? Lewat buku ini kita bisa mendapat gambaran bagaimana proses memecahkan masalah lewat programming dan skill apa yang diperlukan untuk mencapai solusi tersebut. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/u7behbitn3dnglinkkdn.png)
Ara the Star Engineer
https://play.google.com/books/reader?id=6pJyDwAAQBAJ&pg=GBS.PP1

Programmer memecah masalah menjadi lebih kecil sehingga lebih mudah dikerjakan.  Misalnya, para siswa ingin robot mereka untuk tidak menabrak dinding. Tujuan ini bisa diraih dengan tiga langkah. Pertama, robot akan berhenti ketika mendekati dinding. Selanjutnya, robot akan berputar. Ketiga, robot akan bergerak ke arah lain.
Programmer menuliskan algoritma yang mungkin digunakan. 

Programmer/coder menerjemahkan setiap langkah algoritma ke dalam kode. Mereka menulis instruksi dalam bahasa pemrograman.
Ada ratusan bahasa pemrograman. Komputer hanya mengerti bahasa mesin, tetapi bahasa ini sulit untuk digunakan manusia. Jadi, sebagian besar programmer menulis kode mereka dalam bahasa pemrograman lain. Kode akan diterjemahkan ke dalam bahasa mesin nanti oleh *compiler* atau *interpreter*. Kedua jenis program ini mengubah instruksi ke format yang dapat dimengerti oleh komputer (bit).

Akhirnya, programmer menjalankan dan menguji program mereka. Mereka memastikan program berfungsi sesuai rencana. Jika menemukan kesalahan/*bug*, mereka harus memperbaikinya. Proses ini disebut debugging. Mereka lalu mengubah kode atau algoritma. Kemudian mereka menguji program itu lagi. Pemrogram terus menguji dan memperbaiki hingga kode melakukan apa yang mereka inginkan. Kemudian program siap digunakan orang lain.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/232vx9ewlit38uinj4xc.png)

#Ragam Bahasa Pemrograman

https://www.dewaweb.com/blog/belajar-coding-untuk-pemula/

--

JavaScript

Pernahkah Anda masuk ke sebuah website dan melihat animasi, pop-up, dan tombol yang bisa di klik? Nah, ini semua dibuat dengan bahasa pemograman JavaScript. JavaScript adalah bahasa pemograman yang digunakan untuk membuat sebuah halaman website interaktif dan dinamis. Dengan elemen interaktif dan animasi, Anda dapat menarik perhatian Anda dan meningkatkan engagement di website Anda. Untuk menggunakan JavaScript dengan optimal, Anda juga bisa menggunakannya bersamaan dengan server-side language, Node JS. 


Python

Python adalah bahasa pemograman yang bisa dilakukan untuk banyak hal di semua sistem operasi komputer modern. Anda bisa menggunakan python untuk memproses text, angka, gambar, dan berbagai data yang Anda simpan di komputer. Python digunakan setiap hari oleh mesin penelusur Google, website video-sharing YouTube, NASA, dan New York Stock Exchange.

Python adalah bahasa yang perlu diterjemahkan. Ini berarti python tidak akan dikonversi ke kode yang bisa dibaca komputer sebelum program dijalankan. Mereka baru akan diterjemahkan saat program dijalankan.  Bahasa seperti ini sering juga disebut dengan istilah bahasa scripting karena mereka digunakan untuk mengurus hal-hal yang bisa dikatakan sepele. Tetapi Python tidak hanya digunakan untuk mengurus hal-hal sepele. Sudah banyak aplikasi di luar sana yang ditulis dengan menggunakan Python. Selain itu, dengan Python Anda juga bisa melakukan hal-hal berikut ini:

Programming CGI untuk Aplikasi Web
Membangun RSS Reader
Reading dari dan Writing ke MySQL
Reading dari dan Writing ke PostgreSQL
Membuat calendar di HTML
Dan masih banyak lagi

Java

Slogan terkenalnya “write once, run everywhere” menjadi salah satu alasan mengapa Java sangat banyak digunakan di luar sana. Ditambah lagi, mereka memiliki Java Virtual Machine (JVM) yang kuat, yang membuatnya kompatibel di berbagai platform.

Java paling banyak digunakan oleh back-end developer, big data developer, architect, system engineer, dan Android developer. Meskipun Java mungkin bukan bahasa programming yang paling keren saat ini, Java masih banyak digunakan dan akan terus digunakan di masa yang akan datang.

C++

Pertama kali dibuat pada tahun 1985, C ++ adalah bahasa yang sangat efisien dan fleksibel. Bahasa ini tetap diminati karena performanya, reliabilitasnya, dan berbagai konteks yang dapat Anda gunakan. C++ juga banyak digunakan oleh sistem-sistem besar seperti Microsoft, Oracle, PayPal, dan Adobe untuk membuat dan mengelola program-program mereka.

C++ banyak digunakan oleh developer aplikasi desktop, terutama untuk performance-intensive task.  Meskipun agak rumit, memahami C ++ akan memberi Anda pemahaman yang lebih dalam tentang cara kerja bahasa, misalnya dengan memberikan fasilitas manipulasi memori tingkat rendah.

Ruby

Ruby adalah salah satu bahasa pemrograman yang paling disukai. Ini dirancang agar ramah dan mudah digunakan oleh developer, karena bahkan taglinenya sendiri adalah “teman terbaik programmer.” Ruby adalah bahasa high level yang bertujuan untuk mencapai banyak hal dengan beberapa baris kode yang bersih dan mudah dibaca. Kode Ruby yang ditulis dengan baik hampir terlihat seperti kalimat yang ditulis dalam bahasa Inggris biasa. Ruby bisa dibilang lebih lambat dalam hal efisiensi dibandingkan dengan bahasa populer lainnya – tetapi itu pasti meningkatkan produktivitas Anda.

PHP

PHP adalah salah satu bahasa pemograman back-end yang paling popular di website. PHP digunakan untuk memperbagus tampilan sebuah halaman website. Dengan PHP, Anda bisa membuat fitur-fitur website seperti membuat halaman login username dan password, mengecek detail sebuah form, membuat forum, galeri gambar, survei, dan masih banyak lagi. Jika Anda melihat website yang memiliki akhiran PHP di alamatnya, ini berarti developer websitenya menggunakan PHP untuk mempercantik website.

--

Scratch

https://rumahinspirasi.com/belajar-logika-dan-pemrograman-dengan-scratch/

Scratch adalah bahasa pemrograman yang didesain khusus untuk anak-anak usia 8-16 tahun. Program ini dikembangkan oleh sebuah kelompok di Massachusetts Institute of Technology (MIT) bernama MIT Media Lab dan dapat didownload gratis.

Berbeda dengan bahasa pemrograman yang biasanya berbasis teks, Scratch menggunakan “grafik” atau blok untuk mengajarkan logika pemrograman kepada anak. Hal ini membuat anak-anak lebih mudah belajar pemrograman tanpa harus disibukkan dengan kerumitan penulisan sintaks dalam bahasa pemrograman pada umumnya.

Baca:
https://www.experfy.com/blog/history-of-programming-languages
http://helloworldcollection.de/

#Istilah-istilah Dalam Coding

Rehat sejenak, kita baca buku dulu yuk! Buku ini berjudul How To Code Sandcastle. Buku ini bisa diperoleh di Google Play Book https://play.google.com/books/reader?id=WsIwDwAAQBAJ. Buku ini menceritakan tentang Pearl yang ingin membuat istana pasir. Pearl meminta bantuan robot bernama Pascal. Karena Pascal adalah komputer, Pearl harus memberikan instruksi dengan langkah yang tepat dan jelas. Melalui buku ini kita akan mengenal tentang loop, if conditional, sequence, bug, dan lain-lain.

How To Code Sandcastle
{% youtube _Y18aOyEJx0 %}


#Tantangan: Kode Pertamaku

Untuk merasakan pengalaman coding pertama kali, kita akan menggunakan website MadeWithCode. MadeWithCode merupakan inisiatif yang dibuat Google dengan tujuan mengajak anak-anak perempuan untuk coding. Ada sejumlah proyek yang bisa dikerjakan tapi kali ini kita akan memilih kegiatan yang ada di alamat berikut:

https://www.madewithcode.com/projects/fashion

Bahasa yang akan dilakukan adalah pemrograman menggunakan blok Scratch.
Misi proyek ini adalah merancang fashion/gaun dengan hiasan lampu LED yang bisa dikostum ukuran, warna, dan posisi. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/wlp9dbfvg1tpixv7rbp3.png)