Pengenalan Program Komputer

Bagi pencinta komputer bisa membuat program sendiri itu sesuatu yang menyenangkan bukan? karena bisa membuat komputernya menjadi lebih bermanfaat.

Pada tulisan kali ini saya ingin menyampaikan kiat apa saja yang diperlukan untuk bisa membuat program dan perkakas yang dibutuhkan, karena membuat program memiliki platform yang luas maka tulisan ini di peruntuhkan untuk perluasan wawasan.

Apa itu Program

Program itu adalah kumpulan perintah komputer yang menerima input lalu memprosesnya menghasilkan output.

Bila di gambarkan seperti ini:

+---------+      +--------+     +--------+
|  Input  | -->  | Proses | --> | Output |
+---------+      +--------+     +--------+

Penjelasan

  • Input merupakan berupa data yang diberikan ke program dari komputer seperti ketikan dari keyboard, data dari file atau internet.

  • Proses bagian ini program memproses data Input dari instruksi yang kita tulis (alias Koding).

  • Output hasil proses nilai input dari proses, ini bisa berupa text, gambar, koneksi internet, berkas atau bentuk lain seperti mematikan komputer.

Singkat program merubah interaksi dari manusia menjadi sebuah yang berarti di komputer.

Aktivitas membuat/menulis program disebut programming atau juga koding.

Contohnya seperti ketika kita memasukan ketikan dari terminal program ini:

masukan = input("Ketik sesuatu :")
print("Kamu mengetikan: " + masukan)

Klik disini untuk mencoba kodenya

Jenis Platform Program

Program ada banyak jenisnya aplikasinya mulai dari platform (tempat program dipakai) Web, Desktop, CLI , Mikrokontroller bahkan Smartphone.

Jenis plaftorm ini memiliki cara untuk menangani input dan output program yang berbeda tiap platformnya, ini alasanya terdapat mengelompokan ini.

  • Web

    Program web hanya berjalan di browser seperti situs Gadis Koding ini, yang membentuk tampilan di adalah HTML, CSS dan Javascript.

    Tampilan Web digunakan untuk menampilkan data hasil proses program web statis Gadis Koding yang menggunakan program Hakyll untuk membuatnya dan di publikasi menggunakan web server (baca: Backend Developer) untuk bisa diakses oleh kamu.

    Untuk membuat web dinamis (isinya bisa berubah dengan cepat) bisa menggunakan bahasa pemrograman (pilih salah satu kecuali javascript) seperti Javascript, Python, Go atau PHP tentunya dengan bantuan bahasa markah yakni HTML serta CSS.

  • Desktop

    Program desktop merupakan aplikasi yang punya tampilan antarmuka yang berjalan di komputer baik dengan atau tanpa internet.

    Contohnya browser atau game mineswipper kalian adalah aplikasi desktop bisa dibuka tanpa ada internet bukan ? (walaupun kurang asik karena tidak bisa browsing internet.)

  • CLI (Command-Line Interface)

    Program ini berjalan di terminal komputer kita (bila pengguna windows, command prompt). Jenis ini yang paling mudah dibuat karena untuk melihat output program lebih mudah tanpa perlu kita program tampilanya terlebih dahulu seperti Desktop atau pun Web.

    Contohnya program ping.exe pada terminal untuk mengecek koneksi internet kita. Namun ada juga bentuk program CLI interaktif seperti editor Vi dan nano di Linux.

    Hampir semua bahasa pemrogram berbasis text (kodingnya di ketik) berjalan di CLI.

  • Mikrokontroller

    Program pada platform ini ditanam keperangkat keras, jadi program kita dimasukan kedalam sebuah microchip untuk menjalan rangkaian elektronik. Cara ini bisa disimpulkan kita memprogram sebuah rangkaian elektronik untuk menggerakan perangkat keras.

    Kalo kamu penasaran bisa seperti apa bentuknya yaitu Robot dan Mesin untuk melakukan perkerjaan manusia secara otomatis (mesin cuci, dispenser atau yang paling sering kita pakai yaitu Televisi).

    Bila kamu tertarik kamu bisa mencoba pemrograman ini menggunakan Arduino atau Mikrokontroller ATmega, bahasa yang digunakan yaitu C atau Assembly (bahasa yang dekat dengan mesin).

  • Mobile

    Program pada smartphone kita masuk kesalah satu ini, program ini berjalan pada komputer portable (bukan laptop) seperti Smartphone kita.

    Bahasa yang dipakai pada umumnya Java, Swift, Javascript dan Dart (menggunakan Flutter.)

Aplikasi

Aplikasi ini sebuah program yang memiliki antarmuka seperti (Desktop, Web dan Mobile).

Ada yang mau saya sampaikan kalau kamu penasaran tentang ilmu besar yang membelakangi programmming, Ilmu Komputer/Informatika. Kenapa saya membahasnya di sini karena ini juga termasuk aplikasi dari program dari sisi penerapan teori informatika untuk menyelesaian masalah selain tentang antarmuka.

Bacaan Lanjut : Bedanya Software dan Aplikasi, Dosen IT

Topik itu akan dibahasa pada tulisan lain karena cukup panjang. Contohnya seperti jaringan, kecerdasan buatan, teknologi platform program pada tulisan ini, matematika diskrit dan masih banyak lagi.

Namun perlu di ingat, tujuan kita membuat aplikasi yaitu membuat komputer membantu kita dalam penyelesain masalah dan melatih kita dalam berpikir adil.

Programming is a way to reverse engineer our mind - Artileda

Algoritme

Pada prinsip program kita terdapat proses yang berisikan kumpulan perintah komputer berkerja. Kumpulan instruksi tersebut dibuat untuk menyesuaikan langkah kerja yang telah di bangun untuk mencapai bentuk tertentu yang disebut Algoritme.

Algoritme adalah kumpulan cara untuk mencapai suatu tujuan.

Contohnya seperti saat kita ingin mencari informasi, bagaimana kita mencari informasi:

  1. Koneksi ke Internet.
  2. Buka Browser.
  3. Ketik www.google.com pada address bar.
  4. Kemudian enter dan Tunggu hingga selesai loading.
  5. Setelah itu masukan kata kunci kata yang mau kamu (seperti love 2d draw image).
  6. Setelah itu enter tunggu hingga selesai loading.
  7. Pilihlah URL hasil pencarian yang menurutmu sesuai dengan yang ingin kamu cari dan klik.

Langkah diatas adalah contoh Algoritme ketika kita mencari sesuatu di Google. Terus, hubungan dengan pemrograman apa?

Hubunganya selain membantu kamu cara googling, contoh diatas menerangkan cara pikir yang dipakai untuk menyusun ide kita untuk dijadikan program (cara jelas dan tepat). Meskipun platform berbeda tetap cara pikir ini dipakai.

Bacaan lanjut tentang algoritme : Komputasi dan Mie Goreng

Memulai Pemrograman

Kamu menunggu bagian ini kan ? satu hal yang perlu kamu ingan belajar programming menuntut kita untuk displin dan sabar dalam belajar.

Karena memang belajar pemrograman itu bukan hal yang mudah dan juga tidak terlampau sulit bahkan sampai perlu kuliah IT (kuliah kalau kamu merasa perlu dan ingin terjun secara akademik).

Materi untuk belajar pemrograman banyak bertebaran di internet termasuk situs Gadis Koding sendiri dan juga banyak komunitas yang bisa kamu sambangi untuk belajar (dan cari mentor untuk belajar atau memberikan arahan, bisa gabung Gadis Koding HQ di discord).

Mulai belajar tentang komputer dan sistem operasi

Berkenalan dengan komputer adalah hal yang wajib karena kita membuat program dan berjalan untuk mereka.

Sebab itu kamu perlu bisa memakai komputer untuk memulai memprogram seperti menginstall program, membuat atau menghapus berkas dan mengenali batas spesifikasi komputer.

Dengan mengenal komputer kita bisa menyesuaikan program kita dengan komputer yang akan menjalankanya, jadi ga ada cerita kamu bikin atau install program yang ga bisa di pake sama komputer mu sendiri.

Spesifikasi komputer jelas di pengaruhi oleh komponen komputer :

  • RAM (Penyimpanan data sementara, untuk program berjalan)
  • Storage (Penyimpanan data permanen, untuk nyimpan berkas program dan berkas lainya)
  • CPU (Tempat komputer menjalankan instruksi program)
  • GPU (Tempat pengolahan grafis, biasanya untuk tampilan laya dan resolusinya)
  • Layar (Tempat kamu melihat apa yang kamu koding)
  • Keyboard (Tempat memasukan huruf,angka,simbol ke komputer)
  • Socket internet (Tempat untuk terhubung ke internet atau wifi)
  • Socket USB (tempat colok usb)

Komponent di atas punya pengaruh ke program kita, tanpa layar kita ga bisa ngoding bukan.

Tujuan mau bikin program apa ?

Seperti kita ketahui banyak platform dari program, ini yang harus kita perhatiakan sedari awal untuk menentukan bahasa apa yang akan dipilih untuk membuat program pada platform tersebut.

Berikut beberapa pemaparan platform domain dengan bahasa pemrograman nya :

  • Aplikasi Web : Javascript, Python atau PHP
  • Aplikasi Mobile : Dart, Java, Kotlin atau Swift
  • Kecerdasan Buatan : Python atau R
  • Jaringan dan Cybernet : Python, C , Bash atau Go
  • Mikrokontroller : C atau Assembly
  • Aplikasi Desktop : Javascript ,Python , Go atau Java

Bahasa diatas dipilih berdasarkan kepopuleran pada platform tersebut, jika ingin mencoba pilih salah satunya saja karena kalau kebanyak nanti ribet.

Tetapi jika belum punya tujuan untuk terjun ke platform program apa, kita bisa cukup belajar konsep programan sambil menimbang mau terjun ke plaftorm apa dengan bahasa yang terbilang mudah untuk di pelajari seperti Python, Lua , Javascript ataupun Golang.

Memahami dasar pemrograman dengan baik membuat kita mudah untuk berpindah antar bahasa yang memiliki karakteristik yang sama.

Aplikasi untuk Programming

Tentu kamu perlu aplikasi untuk membuat program (development tools), berikut apa yang diperlukan

  • Kompiler/Interpreter

    Kompiler/Interpreter ini program yang menjalankan kode kita berdasarkan bahasa pemrograman kita. Jadi kalau mau memrogram kode dengan Python maka install Interpreter/Kompilernya, begitu pula dengan semua bahasa pemrograman.

    Kompiler/Interpreter dari bahasa pemrogramman bisa di unduh pada halaman resminya sendiri, menginstall Kompiler/Interpreter sama dengan menginstall bahasa pemrograman di komputer kita.

  • Text Editor

    Text editor ini aplikasi untuk kita menulis kode, bisa saja kita menulis kode dengan notepad tetapi pengalaman koding kita tidak enak (baca: Developer Experience).

    Text editor yang baik untuk koding atau kita sebut saja Code Editor agak baik membantu kita ngoding jika punya syntax highlightning (kode kita ada warnanya), autocomplete (prediksi kode) dan integrasi dengan bahasa pemrograman (Language Server Protocor).

    Berikut saran Code Editor yang bisa kamu coba

    Saya sebagai penulis menggunakan Neovim dan Visual Studio Code pada sistem operasi Ubuntu.

  • Browser

    Browser ini perlu untuk kamu googling liat dokumentasi atau tutorial, apalagi kalau kamu koding aplikasi Web.

  • Git (bila perlu)

    Git ini sebuah alat untuk memanajemen kode, ini saya jadikan opsional karena perlu pemahaman tentang konsep Git dalam memanajemen kode kita seperti menyimpan kode kita yang bisa di liat kembali meskipun sudah dihapus atau melihat kode yang kita backup (comit di git) serta merubah kode sekarang ke backup kode tersebut.

    Selain itu kita bisa simpan kode kita menggunakan git secara online di GitHub atau GitLab.

Pada bagian ini saya menyarankan untuk kamu memahami peralatan diatas (yang wajib) agar bisa memanfaatkan dengan baik saat koding.

Latihan Kode

Ketika kamu ingin melatih kemampuan kode kamu dengan suatu tugas atau tantangan kamu bisa mengujungi website berikut untuk soal latihan:

Kenapa kamu perlu menantang diri ? jawabanya agar berkembang dan bisa menerjemahkan permasalahan dunia nya dengan pemrograman melalui latihan tersebut.

Penutup

Sekian dari tulisan ini, bila ada kurang atau salah kata saya mohon maaf.

Jangan lupa gabung discord Gadis Koding kalau ada yang mau ditanyakan (linknya ada diberanda).

Referensi