I. Bahasa Pemrograman
Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar menjalankan fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi
1. Algoritma
Algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis.
Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita.
Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita.
Untuk contoh algoritma dalam matematika seperti di bawah ini:
Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8
Algoritmanya adalah:
· Mulai
· Tentukan nilai x
· Hitung nilai y = 3x + 8
· Cetak nilai x dan y
· Selesai
Penyajian algoritma secara garis besar dapat dibagi dalam dua bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga tepat digunakan dalam menggambarkan algoritma yang akan dikomunikasikan kepada programmer.
Sedangkan untuk algoritma yang disajikan dengan gambar adalah dengan flowchart. Flowcart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau merupakan prosedur sistem secara logika. Flowcart digunakan untuk alat bantu komunikasi dan untuk dokumentasi.
Algoritma berbeda dengan Logaritma. Logaritma merupakan operasi Matematika yang merupakan kebalikan dari eksponen atau pemangkatan. Contoh Logaritma seperti bc= a ditulis sebagai blog a = c (b disebut basis).
2. Syntax
Syntax adalah salah satu dari cabang ilmu linguistik yang mempelajari kaidah yang menentukan bagaimana kata membentuk frasa dan frasa membentuk kalimat. Secara etimologis istilah Syntax adalah menempatkan bersama kata-kata menjadi kelompok kata atau kalimat dan kelompok-kelompok kata menjadi kalimat.
3. Intrepeter / Pustaka
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut.
Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi.
Interpreter atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa berbeda dengan Translator atau penterjemah dalam segi media yang dipakai untuk menerjemahkan. Interpreter akan menterjemahkan bahasa sumber ke dalam bahasa sasaran secara langsung atau orally sementara translator akan menerjemahkan bahasa sumber ke bahasa sasaran secara tertulis.
4. IDE + OS
IDE ( Integrated Development Environment ) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak. Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki fasilitas :
• Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak.
• Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber kemudian mengubah dalam bentuk binari yang sesuai dengan bahasa mesin.
• Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program komputer yang siap dieksekusi.
• Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk mencari bug/kesalahan yang terdapat dalam program.
Sampai tahap tertentu IDE modern dapat membantu memberikan saran yang mempercepat penulisan.Pada saat penulisan kode, IDE juga dapat menunjukan bagian-bagian yang jelas mengandung kesalahan atau keraguan.
OS (Operating System) atau dikenal juga dengan Sistem Operasi merupakan software pada lapisan pertama yang diletakkan pada memori komputer, (memori komputer dalam hal ini ada Hardisk, bukan memory ram) pada saat komputerdinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi Komputer berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan kernel suatu Sistem Operasi.
Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi komputer juga melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Sistem Operasi menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file.
II. Model Pemrograman
a. Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik atau langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya atau kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Contoh : C, Pascal, Delphi
b. Pemrograman Berorientasi Objek (Object Oriented Programming)
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Contoh : Java, Python
III. Peran
a. Jaringan Komputer
(C, Java, Python, dll)
Dalam perannya jaringan komputer berperan dalam komunikasi data atau pergerakan data dari setiap pengguna jaringan. Dalam sistem jaringan tersebut terdapat sebuah komputer pusat atau pengolah pusat. Biasanya komputer pusat ini berupa seperangkat komputer mainframe yang terhubung dengan jumlah terminal. Terminal-terminal ini bisa disimpan berdekatan dengan CPU atau terpisah dengan jarak yang cukup jauh atau bisa sangat jauh sekali, atau bahkan tersimpan luar negri atau dibelahan benua lain.
Hampir di setiap instansi, baik pemerintahan, pendidikan ataupun lembaga bisnis, termasuk lembaga keuangan seperti bank telah menggunakan jaringan komputer atau jaringan yang sudah canggih. Jadi dari hal tersebutlah pengolahan dan komunikasi data bisa dilakukan dengan cepat dari satu tempat ke tempat lain. Salah satu contoh peran karingan komputer dalam komunikasi data adalah untuk pengiriman atau penerimaan email melalui jaringan internet, pengecekan kartu kredit secara online dan lain sebgainya.
b. Database
(Java, ODBC, Python, dll)
Database atau Basis Data adalah kumpulan informasi yang disimpan dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi data.
c. Internet of Things
Internet of Things (IoT) adalah sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang tersambung secara terus-menerus, berikut kemampuan remote control, berbagi data, dan sebagainya, termasuk pada benda-benda di dunia fisik. Bahan pangan, elektronik, peralatan apa saja, koleksi, termasuk benda hidup, yang semuanya tersambung ke jaringan lokal dan global melalui sensor tertanam dan selalu “on”.
Pada hakekatnya, benda Internet atau Internet of Things mengacu pada benda yang dapat di identifikasikan secara unik sebagai representasi virtual dalam struktur berbasis Internet
d. Cloud Computting
Secara umum, cloud computing merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkoneksi melalui internet menggunakan cloud computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.
e. Intelligent Transportation System
Intelligent Transportation System dalam bahasa Indonesia berarti sistem transportasi cerdas. Sistem ini mempunyai tujuan dasar untuk membuat sistem transportasi yang mempunyai kecerdasan, sehingga dapat membantu pemakai transportasi dan pennguna transportasi untuk:
· Mendapatkan informasi.
· Mempermudah transaksi.
· Meningkatkan kapasitas prasarana dan sarana transportasi.
· Mengurangi kemacetan atau antrian.
· Meningkatkan keamanan dan kenyamanan.
· Mengurangi polusi lingkungan.
· Mengefisiensikan pengelolaan transportasi.
Intelligent Transportation System atau biasa disingkat ITS pada prinsipnya adalah penerapan teknologi maju di bidang elektronika, komputer dan telekomunikasi untuk membuat prasarana dan sarana transportasi lebih informatif, lancar, aman dan nyaman sekaligus ramah lingkungan.
f. Parallel Computting
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara parallel.
g. Bio Informatika, E-Health
Bioinformatika sendiri merupakan cabang ilmu biologi yang memadukan pengetahuan biologi, bioteknologi, maupun biologi molekular dengan teknologi informasi yang berupa komputer dan internet. Salah satu tujuannya adalah untuk memahami organisme hidup melalui perkembangan bioinformasi.
IV. Tips Pemrograman
Selanjutnya adalah beberapa tips yang harus diketahui untuk melakukan pemrograman
1 Pahami algoritma
2 Kuasai syntax
3 Pahami model pemrograman (struktur/object oriented)
4 Berlatih
5 berlatih menyelesaikan yang dimulai dari Studi kasus sehari-hari
6 Aktif dalam pengembangan (project, open source, github, dll)
V. Security
a. Kesalahan Algoritma
Kekeliruan, tidak tepat, kesalahan secara perangkat lunak, atau kerusakan pada perangkat keras.Dengan terjadinya error ini, maka pelaksanaan tidak sesuai dengan yang diharapkan.
Pada beberapa kejadian, apabila terjadi error, maka perintah yang sedang dikerjakan diberhentikan karena tidak bisa dilanjutkan, seperti tidak ada printer. Namun pada kondisi lainnya, pekerjaan masih bisa dilanjutkan, karena error yang terjadi tersebut tidak terlalu mempengaruhi sistem dan bisa diabaikan, seperti pemutaran suatu media presentasi pada komputer yang tidak mempunyai sound card,proses masih bisa dilanjutkan untuk melihat presentasi tersebut, meskipun dalam kondisi bisu.
b. Buffer Overflow
Buffer overflow (BO) terjadi jika suatu program berusaha menyimpan data ke buffer, dimana ukuran data lebih besar dari ukuran buffer. Saat jumlah data melebihi ukuran buffer, kelebihan data dapat melimpah ke lokasi memory terdekat, merusak data dan bisa merubah path dan perintah eksekusi. Diantara informasi yang rusak, mungkin terdapat informasi yang berisi subroutine dari suatu program, sehingga program tidak dapat menemukan subroutine dan tidak dapat menyelesaikan programnya. Kemampuan eksploitasi BO memungkinkan seseorang untuk memasukkan kode sembarang ke path eksekusi. Kode ini memungkinkan akses jarak jauh yang terlarang (unauthorized). Seorang hacker bisa mengirimkan data yang lebih besar dari ukuran buffer dan berisi kode yang dirancang untuk melakukan aksi tertentu, untuk merusak atau mengubah data dan membuka informasi rahasia.
VI. Tingkat Bahasa Pemrograman
a. Tingkat Tinggi
Bahasa tingkat tinggi yaitu bahasa komputer yang memakai instruksi yang berasal dari unsur kata-kata bahasa manusia. Contohnya : begin, end, if, for, while,and, or, dan sebagainya. Bahasa ini menggunakan perintah yang mendekati bahasa manusia. Contohnya adalah Delphi, Pascal, ORACLE, MS-SQL, Perl, Phyton, Basic, Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java, PHP, ASP, XML, dan lain-lain.
b. Tingkat Rendah