Web Programming

Web programming adalah serangkaian proses yang dilakukan untuk membuat website baik dari skala kecil seperti halaman yang sifatnya statis berupa plain text, hingga ke skala yang sangat kompleks bersifat dinamis yang telah berinteraksi dengan database atau berkomunikasi antar aplikasi. Beberapa kompetensi yang bersanding dengan web programming diantaranya: web design, database administrator, web server, konfigurasi keamanan server, dan lain-lain.

Beberapa hal mendasar yang perlu kita ketahui untuk menjadi seorang Web Programmer diantaranya:

HTML, digunakan untuk membuat struktur atau kerangka dari halaman web. Kamu juga akan perlu untuk mempelajari CSS yang berfungsi untuk menata tampilan halaman website.Bahasa pemrograman web, digunakan untuk memproses sejumlah operasi yang diperlukan pada aplikasi web seperti menjalankan fungsi logika, berinteraksi dengan database, menampilkan antarmuka yang sesuai dan sebagainya. Beberapa bahasa pemrograman web diantaranya Javascript, PHP, Ruby, Python, Perl dan ASP.NET.Web Browser, adalah perangkat lunak yang berfungsi untuk menyajikan halaman website yang kita inginkan. Beberapa web browser populer diantaranya: Mozilla Firefox, Google Chrome, Internet Explorer, Microsoft Edge, Opera, Safari dan sebagainya.Code Editor, adalah perangkat lunak yang digunakan untuk menuliskan kode programWeb Server, adalah perangkat lunak yang digunakan untuk menjalankan aplikasi webDomain, baik di lokal maupun di jaringan internet kita butuhkan sebagai alamat identitas aplikasi web kita. Jika dalam mode offline kita mengenal localhost / 127.0.0.1, maka di online kita bisa memiliki nama domain secara custom dengan sistem penyewaan domain tersebut seperti: codepolitan.com, facebook.com atau bisa juga namakamu.com.

Web programming menjadi daya tarik banyak orang untuk dipelajari karena potensi pekerjaan sebagai web prorammer masih sangat luas. Seiring dengan terus berkembangnya teknologi internet berkembang dan meningkat pula kebutuhan akan pengembangan aplikasi web. Bila dahulu orang mengenal web programming sebatas untuk membuat website saja, kini pemanfaatan aplikasi berbasis website menjadi lebih luas lagi, seperti pengembangan sistem informasi, media sosial, ecommerce dan transaksi keuangan. Kita bahkan dapat membuat aplikasi desktop dan mobile menggunakan teknologi web. Belajar pemrograman web menjadi pilihan yang tepat dan prospektif.

Frontend Programming

Ketika kita mengakses sebuah website maka yang akan disuguhkan pertama kali adalah layout atau tampilan dari website tersebut dengan beragam style agar terlihat memikat namun tetap informatif. Keilmuan yang menangani hal ini dalam dunia web programming disebut dengan istilah Frontend Programming.

Frontend programming memiliki tugas untuk membuat layout sebuah website yang interaktif, responsive, sehingga memberikan kesan kepada user bahwa website tersebut mudah digunakan. Adapun bahasa yang digunakan untuk menjadi Frontend programmer meliputi: HTML, CSS, Javascript. Sebab apapun yang Kamu lihat ketika mengakses sebuah halaman web merupakan kombinasi antara HTML, CSS dan Javascript yang diterjemahkan oleh browser, hal ini termasuk font, menu drop-down, button, transition, slide, form, dan lain-lain. Kini bahkan sudah banyak bertebaran framework untuk frontend, yakni kumpulan library CSS dan JavaScript yang dapat digunakan untuk mempercepat proses pengembangan web.

Tak hanya berada dalam ruang lingkup layout atau tampilan dari sebuah website, frontend developer juga memikirkan hal yang lebih kompleks lagi. Google telah memperkenalkan metode baru dalam dunia frontend yakni Progressive Web App (PWA) dimana kita dapat melakukan optimasi agar website dapat diakses dengan lebih cepat dan dapat diakses meskipun dalam keadaan tidak terhubung ke internet.

Frontend programming adalah salah satu bagian dari web programming yang mengkhususkan diri di ranah frontend saja. Frontend programmer tidak menangani managemen data dan infrastruktur. Ia hanya fokus membuat penyajian konten di halaman depan sebuah aplikasi web. Ada banyak permintaan sumberdaya khusus sebagai frontend programmer, dengan rentang salary yang menarik.

Ilustrasi pendapatan rata-rata per tahun programmer frontend .

Berbeda halnya dengan Frontend programming, Backend programming bekerja di belakang layar atau biasa disebut dengan istilah server side. Backend biasanya terdiri dari tiga bagian: aplikasi, server, dan database. Analogi sederhananya adalah ketika Kamu memesan barang di salah satu website jual beli, maka yang Kamu lihat atau apa yang disuguhkan kepada Kamu adalah frontend. Ketika Kamu menginput pesanan, maka backend bekerja untuk menyimpannya ke dalam database. Proses backend nyaris tidakt terlihat layaknya frontend, akan tetapi backend bekerja untuk memenuhi kebutuhan proses untuk ditampilkan di frontend.

Untuk menjadi seorang backend programmer, berikut hal yang perlu kamu ketahui:

  • Bahasa pemrograman server-sideseperti Ruby, PHP, Phyton, JavaScript, dan lain-lain. Sama halnya dengan frontend programming, backend programming juga telah memiliki banyak framework yang dapat memudahkan dan mempercepat proses pengembangan web.
  • Paham teknologi yang digunakan dalam frontend programming seperti HTML, CSS dan Javascript. Hal ini perlu dilakukan agar dapat berkomunikasi dengan tim frontend. Sebab backend dan frontend adalah satu kesatuan dalam web programming yang harus saling berinteraksi untuk membangun aplikasi.
  • Memiliki kemampuan untuk menangani server, termasuk database administrasi. Meskipun ada profesi tersendiri untuk itu yakni system administrator dan database administrator.
  • Baik bekerja secara individu maupun kelompok. Menggunakan Version Control System (VCS) adalah hal yang wajib dilakukan dalam proses kolaborasi.
  • Memahami konsep pengembangan API atau application programming interface. API akan sangat diperlukan terutama pada proyek pengembangan aplikasi untuk banyak platform seperti web, mobile, atau keduanya sekaligus.

Ilustrasi pendapatan rata-rata per tahun programmer backend (sumber)

Berbicara tentang mobile programming, maka bukan hanya berbicara tentang bagaimana membuat aplikasi untuk perangkat mobile meskipun hal tersebut menjadi tujuan utama. Mobile programming adalah proses yang dilakukan untuk membuat aplikasi berbagai jenis perangkat mobile. Maksud dari pernyataan ini, bahwa mobile programming adalah proses development perangkat lunak yang mencakup aplikasi ponsel, tablet, smartwatch dan semua jenis perangkat mobile lainnya.

Terdapat dua sistem operasi mobile yang paling banyak digunakan saat ini, yaitu Android dan iOS. Masing-masing sistem operasi tersebut memiliki kelebihan tersendiri dan membutuhkan perangkat sesuai spesifikasinya. Termasuk dalam membuat aplikasinya terkadang kita harus membuat dua versi aplikasi agar dapat berjalan di kedua sistem operasi tersebut. Meskipun belakangan ini ada teknologi yang dapat mencakup keduanya sekaligus, artinya kita hanya perlu menuliskan satu kode program yang nantinya dapat dicompile ke dua jenis sistem operasi ini.

Mobile programmer kini menjadi salah satu profesi yang paling banyak dicari. Hal ini muncul karena teknologi mobile sudah berkembang dan disinyalir akan menjadi perkembangan teknologi paling pesat di masa depan. Kalau dahulu internet hanya bisa dinikmati melalui komputer atau laptop dan sebagian perangkat telepon genggam yang terkoneksi ke internet, kini smartphone sudah dimiliki oleh mayoritas orang. Berdasarkan statistik, dari 5 milyar penduduk bumi tercatat ada lebih dari 3,4 milyar pengguna aktif internet melalui smartphone. Ditambah lagi perkembangan teknologi mobile ke banyak bentuk seperti smartwatch dan internet of things yang terintegrasi ke smartphone.

Android adalah sistem operasi terpopuler di dunia untuk perangkat seluler dan tablet. Android adalah sistem operasi open sourceyang dibuat oleh Google. Belakangan Android juga dikembangkan untuk dapat berjalan di smartwatch, smart TV dan juga laptop/PC.

Hingga saat ini, Android adalah pemimpin pasar smartphone secara global yang tak terbantahkan. Karena pertumbuhan di pasar negara berkembang seperti Meksiko, Turki dan Brasil, dominasi ini tidak akan lagi mengalami penurunan secara tajam dalam waktu dekat.

Sumber: 9to5Mac

Lalu apa saja yang perlu kamu ketahui untuk menjadi seorang android programmer?

  • XML (Extensible Markup Language), digunakan untuk membuat tampilan antarmuka aplikasi Android
  • Java, untuk menjadi seorang android programmer Kamu harus terbiasa dengan bahasa pemrograman Java. Java adalah salah satu bahasa pemrograman terpopuler yang digunakan software developers saat ini.
  • SQL, Kamu perlu untuk mempelajari dasar-dasar SQL untuk mengatur database dalam aplikasi android Kamu.
  • Android software development kit (SDK) dan Android studio. Salah satu bidang lain yang termasuk kategori Mobile programming adalah iOS programming. iOS programming diperutukkan untuk membuat aplikasi berbasis iOS yang dapat dijalankan pada perangkat yang mendukungnya. Orang yang menggelutinya disebut sebagai iOS Programmer.

    Sebelum belajar membuat aplikasi iOS, maka berikut beberapa hal yang perlu kamu ketahui

    • Swift, adalah bahasa pemrograman yang dibuat Apple khusus untuk developer aplikasi mereka. Swift adalah bahasa yang banyak digunakan dalam developmen aplikasi iOS.
    • Design Guidelines, yang membuat aplikasi iOS menarik perhatian karena sangat intiutif. Alasannya adalah karena aplikasi ini mengikuti aturan design guidelines yang sangat ketat. Tentang bagaimana data disimpan dan ditampilkan kepada pengguna ditangani dengan cara yang sangat spesifik. Untuk memahami itu setidaknya Kamu harus paham tentang konsep MVC (Model View Controller), Delegate Pattern, Notification, dan lain sebagainya.
    • Xcode, adalah IDE (Integrated Development Environment) untuk membuat aplikasi iOS. Dengan menggunakan Xcode Kamu dapat melakukan penulisan kode program, pengeditan, dan debugging untuk aplikasi iOS. Kamu juga dapat menggunakan Xcode untuk mengupload aplikasi Kamu ke App Store. Aplikasi desktop adalah aplikasi yang dapat diinstal dan berjalan di komputer desktop atau laptop tanpa dependensi dari aplikasi lain. Berbeda halnya dengan aplikasi berbasis web yang membutuhkan browser agar dapat diakses.

      Lalu mengapa aplikasi berbasis desktop masih digunakan?

      • Ada beberapa jenis aplikasi yang belum memungkinkan atau tidak efisien bila dibuat dalam basis web atau mobile, seperti aplikasi pengolah citra, image editor, dan aplikasi atau sistem informasi yang tidak memerlukan koneksi internet.
      • Dalam hal keamanan merupakan masalah yang tidak terlalu kompleks, karena aplikasi berbasis desktop dapat dispesifikkan untuk pribadi sehingga tidak terbuka untuk umum dalam hal mengaksesnya sehingga Kamu lebih mudah melindungi data dan program Kamu.
      • Aplikasi desktop karena di-compile kedalam bahasa mesin secara langsung, dapat berjalan dengan sangat cepat ketimbang aplikasi berbasis web
      • Aplikasi desktop tidak harus bersaing dengan keterbatasan yang dimiliki oleh browser sehingga dapat menjadi lebih efisien dalam desain dan dan performa
      • Ada kebutuhan dimana pengguna hanya ingin sebuah aplikasi hanya dapat diakses di komputer tertentu saja, seperti aplikasi kasir supermarket dan sistem informasi internal sebuah instansi (rumah sakit, apotik, dan perusahaan manufaktur).

      Beberapa bahasa pemrograman yang umum digunakan untuk membuat aplikasi desktop diantaranya adalah Java, Python, Delphi, Qt, C#, C/C++ dan Visual Basic.

    • Hardware programming adalah bagian dari hardware engineering. Hardware programmer adalah orang yang melakukan programming secara low level terhadap hardware, misalnya mikrokontroler, embedded system, PLC atau device lainnya. Pada awal diciptakannya komputer, programmer jenis ini lebih dominan karena cara memprogram komputer waktu itu mirip dengan cara memprogram mikrokontroller saat ini. Bahasa yang digunakan dulunya adalah bahasa mesin tetapi saat ini yang umum digunakan bahasa Assembly dan C. Selain dua bahasa tersebut, sekarang kita sudah dapat memprogram mikrokontroller menggunakan bahasa Python dan JavaScript.

      Beberapa hal dasar yang perlu Kamu ketahui untuk mulai belajar Hardware/Embedded System programming:

      • Memilih bahasa pemrograman
        1. Embedded System dapat diprogram menggunakan bahasa pemrograman tingkat rendah dan bahasa pemrograman tingkat tinggi
        2. Kedua bahasa memiliki kelebihan dan cara penggunannya tersendiri. Bahasa assembly digunakan untuk pemrograman tingkat rendah. Untuk pemrograman tingkat tinggi, Kamu dapat menggunakan C.
        3. Sistem yang memerlukan efisiensi tinggi untuk sumberdaya pada alat umumnya diprogram menggunakan menggunakan bahasa tingkat rendah. Pengguna memiliki kontrol lebih pada hardware dan memori menggunakan bahasa pemrograman tingkat rendah.
        4. Sistem yang tidak terlalu kompleks menggunakan bahasa pemrograman tingkat tinggi. Bahasa semacam ini mudah dimengerti dan programnya mudah dibaca.
        5. Sebagai seorang pemula, Kamu bisa memulai mempelajari pemrograman hardware menggunakan bahasa pemrograman C.
      • Belajar C / C++
        1. Hal kedua yang harus dilakukan untuk membuat embedded system adalah belajar bahasa pemrograman. Bahasa yang paling umum digunakan adalah C atau C++.
        2. Sebagian besar produk embedded system dirancang sedemikian rupa sehingga mendukung bahasa C
        3. Program yang dibangun dengan bahasa C dapat dibaca dan mudah untuk melakukan debugging. Bahasa ini efisien dan memberikan dukungan untuk perangkat input dan output.
      • Microcontroller, adalah bagian penting dari *embedded system*. Sebuah microcontroller akan bertindak sebagai CPU dari sebuah hardware. Selain itu microcontroller umumnya sudah memiliki RAM, ROM dan beberapa periferal lainnya seperti time, counter, dan lain-lain. Microcontroller yang paling umum digunakan adalah ATMega, ARM, PIC Microcontroller atau 8051 Microcontroller, dan lain-lain.
      • Memiliki Dasar Pengetahuan tentang elektronik. Untuk mempelajari *embedded system*, Kamu perlu tahu tentang perangkat elektronik. Jika Kamu tidak memiliki dasar tentang elektronika, Kamu akan kesulitan dalam merancang program embedded system. Embedded system bukan hanya sekedar menuliskan kode program. karena tujuan Kamu adalah membuat sistem yang bisa mempengaruhi hal-hal fisik, maka Kamu akan berhubungan langsung dengan perangkat sensor dan aktuator.
      • Dalam pemrograman, algoritma adalah himpunan instruksi yang didefinisikan dengan baik secara berurutan untuk menyelesaikan sebuah program. Algoritma harus selalu memiliki titik penyelesaian masalah sehingga apa yang kita inginkan dapat dibuat sebagaimana mestinya. Dalam matematika dan ilmu komputer, algoritma adalah prosedur untuk memecahkan masalah menjadi bagian-bagian kecil lalu menyelesaikannya satu persatu secara berurutan. Algoritma sangat penting dalam membuat program, sebab dengan algoritma kita bisa menggambarkan langkah apa saja yang harus dilakukan oleh sebuah program.

        Ciri-ciri algoritma yang bagus diantaranya:

        • Input dan Output harus didefinisikan secara tepat
        • Setiap langkah dalam algoritma harus jelas dan tidak ambigu
        • Algoritma yang digunakan harus paling efektif diantara banyak cara yang dapat digunakan untuk memecahkan suatu masalah spesifik
        • Algoritma seharusnya dibuat tanpa menggunakan kode komputer. Akan tetapi algoritma harus ditulis sedemikian rupa sehingga dapat dipahami dan digunakan oleh orang lain dalam bahasa pemrograman lain

        Dalam banyak kasus, ada beberapa cara untuk melakukan operasi tertentu dalam sebuah program. Oleh karena itu, programmer biasanya menciptakan algoritma yang paling efisien. Dengan menggunakan algoritma yang efisien, programmer dapat memastikan program mereka dapat berjalan secepat mungkin dan menggunakan sumber daya seminimal mungkin. Tentu saja, tidak semua algoritma diciptakan dengan sempurna untuk pertama kalinya. Oleh karena itu, programmer sering kali memperbaiki algoritma yang digunakannya dan melakukan pembaharuan pada program yang dimilikinya. Jika Kamu melihat versi baru dari sebuah program telah dioptimasi atau memiliki kinerja lebih cepat, itu berarti telah dilakukan pembaharuan algoritma menjadi lebih efisien, selain juga mencakup pembaharuan teknologi yang digunakan.

Komentar

Postingan populer dari blog ini

Mengenal Fitur CSS3

Command Line

Jenis dan Macam Konektor Pada Jaringan Komputer