Terakhir diperbaharui: Oct 23, 2020
Manusia & Komputer
Daftar Isi
Skill dasar coding Bagian - bagian komputer Bagaimana komputer menjalankan aplikasi Programming Language Level Compiler dan Interpreter Illustrasi RekapDua komponen utama dalam dunia coding atau pemrograman adalah manusia(programmer) dan komputer.
Dua komponen tersebut tidak bisa dipisah, komputer tanpa programmer hanyalah sebuah benda dan programmer tanpa komputer maka coding menjadi tidak mungkin.
Setiap komponen memiliki perannya masing-masing. Programmer sendiri harus mengerti cara kerja dari komputer dan memiliki skill dasar coding.
Sebagaimana seorang petani dan ladangnya, sebelum menanam petani harus mengetahui kondisi ladang dan memiliki skill untuk mengelola ladang tersebut.
Skill dasar coding
Skill dasar coding adalah kemampuan Problem Solving.
Setiap orang memiliki kemampuan ini, khusus untuk programmer kemampuan ini terbentuk dari hal-hal berikut.
1. Logika
Ini adalah inti dari kemampuan problem solving, seorang programmer akan menggunakan logikanya sepanjang waktu.
Mempelajari hal-hal yang berhubungan dengan logika akan sangat membantu, seperti Truth Table dan Logic Gate.
2. Matematika
Pemrograman sangat erat kaitannya dengan matematika, banyak konsep matematika yang digunakan dalam pemrograman.
Kita tidak akan membahas matematika disini, karena sebagian besar dari kita telah belajar matematika di bangku sekolah belasan tahun.
Dan kita tidak perlu menguasai semua konsep matematika, hanya sebagian kecil yang sering dipakai meskipun menguasai banyak konsep matematika akan sangat membantu.
Beberapa konsep yang sering digunakan dalam pemrograman:
- Sum (Penjumlahan)
- Multiplying (Perkalian)
- Permutations
- Combinations
- Probability (Probabilitas)
Kita bisa menggunakan referensi yang ada di internet untuk me-refresh ingatan kita akan matematika.
3. Kreatifitas
Saat ngoding seorang programmer selalu dalam mode solving problems, kemampuan untuk mengembangkan ide menjadi sangat penting.
Kreatifitas disini bukan kreatifitas seperti dalam membuat kerajinan tangan, tapi bagaimana kita bisa menentukan banyak pilihan solusi untuk sebuah permasalahan.
Misal, belanja bagi sebagian orang adalah sebuah rutinitas, namun kamu tidak suka dengan hal tersebut, belanja bukan sesuatu hal yang biasa buatmu dan mungkin kamu tidak ingin jauh-jauh dari laptopmu.
Aktifitas belanja kini menjadi sebuah masalah yang harus dicari solusinya, beberapa solusi yang bisa kamu ambil:
- Catat apa yang harus dibeli, berangkat ke toko, pasar atau supermarket, beli kebutuhan kemudian pulang. Seperti orang pada umumnya
- Catat apa yang harus dibeli, buka smartphone, beli kebutuhan di marketplace, tunggu barang dikirim. Atau
- Catat apa yang harus dibeli, suruh orang lain belanja untukmu
Memang tidak ada rumus untuk menjadi orang yang kreatif, yang bisa kita lakukan adalah terus berlatih mengasah kemampuan kita dalam mengembangkan sebuah ide untuk solve problem.
Dalam team, skill dasar seorang programmer tidak lagi terbatas pada problem solving. Kemampuan berkomunikasi menjadi kemampuan dasar selain problem solving bagi seorang programmer yang bekerja dalam sebuah team.
Bagian - bagian komputer
Sebuah komputer bisa dibagi menjadi dua bagian utama, yaitu Hardware & Software. Untuk lengkapnya silahkan lihat gambar berikut.
Bagian dari sebuah komputer yang berperan penting dalam pemrograman adalah Processor dan Memory.
Tugas utama dari processor atau CPU adalah kalkulasi, sedangkan memory dalam hal ini RAM bertugas menyimpan data untuk kalkulasi tersebut.
Sebagian besar proses yang dijalankan dalam sebuah aplikasi melibatkan CPU dan RAM.
Besarnya kapasitas CPU dan RAM sangat mempengaruhi kinerja dari sebuah aplikasi.
Oleh karena itu, menjalankan aplikasi seperti Adobe Photosop di komputer dengan spesifikasi CPU 8 core dan RAM 8 GB terasa lebih lancar dibandingkan menjalankannya di komputer dengan spesifikasi CPU 2 core dan RAM 2 GB.
Bagaimana komputer menjalankan aplikasi
Secara sederhana komputer harus diperintah untuk mengerjakan sesuatu, cara untuk memerintahnya adalah melalui sebuah program atau aplikasi.
Program atau aplikasi merupakan kumpulan baris perintah atau instruksi yang ditujukan kepada komputer untuk tujuan tertentu, namun instruksi ini tidak ditulis dalam bahasa manusia melainkan menggunakan bahasa yang dimengerti oleh komputer.
💡
Program adalah kumpulan instruksi yang kita berikan kepada komputer untuk tujuan tertentu
Aplikasi adalah program yang didesain untuk user sehingga user dapat dengan mudah mengoperasikannya
Programming Language Level
Komputer hanya mengerti bahasa mesin atau machine code, tetapi instruksi yang ditulis menggunakan machine code susah dibaca oleh manusia, sehingga kebanyakan orang menggunakan High-level programming language untuk menulis code.
Karena sifatnya yang mudah dipahami oleh komputer namun susah dipahami oleh manusia, machine code termasuk ke dalam kategori Low-level programming language.
Contoh lain dari Low-level programming language adalah Assembly language.
Sebaliknya, High-level programming language lebih mudah dipahami manusia namun tidak dipahami oleh komputer, sehingga source code harus diubah ke dalam machine code menggunakan compiler atau interpreter.
Contoh High-level programming language : JavaScript, Pyhton, C#, Golang.
Compiler dan Interpreter
High level programming language bisa dibagi menjadi dua jika dilihat dari bagaimana cara komputer mengeksekusinya.
- Compiled language
- Interpreter language
Compiled language, instruksi yang ditulis dalam compiled language akan dirubah ke machine code setelah proses compile selesai.
Sedangkan untuk Interpreted language, instruksi dalam interpreted language dirubah dan dieksekusi oleh komputer melalui sebuah program.
Konsep yang dipakai baik compiled atau interpreted language mirip dengan translator.
Illustrasi perbedaan compiler dan interpreter
Seorang koki asal indonesia diminta untuk memasak sebuah hidangan yang harus sesuai dengan resep yang diberikan, tetapi resep tersebut ditulis dalam bahasa jepang dan koki sama sekali tidak mengerti bahasa jepang.
Koki tersebut bisa menggunakan dua cara agar tetap bisa memasak hidangan tersebut.
- Meminta seseorang yang mengerti bahasa jepang dan indonesia menjadi translator untuk menerjemahkan resep tersebut ke dalam bahasa indonesia dan hasil terjemahannya ditulis pada sebuah kertas yang kemudian diserahkan kepada koki.
- Meminta translator tersebut menerjemahkan resep dengan cara membacakan resep menggunakan bahasa indonesia sambil koki memasak mengikuti instruksi dari translator tersebut.
cara pertama adalah bagaimana compiled language bekerja dan cara kedua adalah bagaimana interpreted language bekerja.
Contoh compiled langugage: C, C++, Erlang, Haskell, Rust & Go.
Contoh interpreter language: PHP, Ruby, Python & JavaScript.
Rekap
Komponen utama dalam coding adalah programmer dan komputer
Skill dasar coding adalah problem solving, yang terdiri dari logika, matematika dan kreatifitas
Komputer harus diperintah untuk mengerjakan sesuatu
Instruksi untuk komputer ditulis dalam sebuah bahasa pemrograman baik High-level programming language atau Low-level programming language
Source code pada High-level programming language diubah ke machine code menggunakan compiler atau interpreter