Minggu, 27 November 2016

Tugas Pengantar Sistem Teknologi Informasi: Dasar-dasar Pemrograman

 Dasar-dasar Pemrograman


A. 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 urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
     Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
    Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

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.
    Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

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.

B. 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

C. 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. 


D. 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.


E. 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
   Bahasa ini dikenal dengan istilah Bahasa Assembly yaitu dengan memberikan perintah kepada komputer dengan memakai kode-kode singkat (mnemonic). Contohnya SUB, CMP, LOOP, dan sebagainya. Bahasa tingkat ini, bahasanya masih jauh dari bahasa manusia.


0 komentar:

Posting Komentar