Showing posts with label psti. Show all posts
Showing posts with label psti. Show all posts

Friday, November 25, 2016

Introduction: Bahasa Pemrograman dan Perannya

A. Bahasa Pemrograman
Bahasa pemrograman adalah bahasa atau instruksi yang digunakan untuk memerintah perangkat komputer agar menjalankan fungsi tertentu. Dalam penggunaannya, terdapat komponen-komponen yang ikut menunjang penggunaan bahasa pemrograman seperti berikut.
  • Algoritma
    Untuk menggunakan bahasa pemrograman dalam membuat suatu program, kita perlu memahami algoritma yang akan digunakan. Algoritma adalah urutan langkah-langkah penyelesaian suatu masalah yang disusun secara sistematis menggunakan bahasa yang logis. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode yang berupa kode yang mirip dengan instruksi kode program sebenarnya  dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. 
  • Syntax
    Setiap bahasa pemrograman memiliki syntax, yaitu aturan struktur bahasa pemrograman agar program dapat berjalan. Aturan syntax dalam pemrograman harus dipenuhi agar ketika kita melakukan kompilasi program yang telah ditulis, compiler tidak memunculkan error.
  • Interpreter dan pustaka
    Interpreter merupakan program yang berfungsi mengeksekusi setiap baris dalam program secara keseluruhan, kemudian menterjemahkannya ke dalam bahasa mesin sehingga mesin dapat menjalankan instruksi yang diminta. Perintah-perintah yang dibuat akan dieksekusi baris demi baris secara langsung oleh interpreter sambil mengikuti algoritma yang terdapat di dalam kode tersebut. Intepreter berbeda dengan compiler, dimana compiler menterjemahkan bahasa program (source code) secara keseluruhan sedangkan intepreter menterjemahkan instruksi per instruksi pada program.
  • IDE dan OS
    IDE (Integrated Development Program) adalah aplikasi yang digunakan dalam membuat sebuah program. Tujuan dari IDE adalah menyediakan utilitas yang dapat digunakan untuk mempermudah dalam pembuatan suatu program. Ada berbagai macam IDE yang tersedia untuk umum, misalnya Code::Blocks, Dev-C++, Codelite, dan masih banyak lagi. Umumnya IDE dapat dijalankan dengan berbagai OS yang mendukungnya, seperti Windows, Mac OS, dan Linux. Setiap IDE 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.
    Sedangkan, OS (Operating System) atau sistem operasi adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi boot diri.

B. Model Pemrograman
Terdapat dua macam model pemrograman, yaitu seperti berikut.
  • Struktural
    Model pemrograman ini memperhatikan urutan langkah-langkah perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Dalam model pemrograman ini terdapat fungsi dan prosedur. Fungsi adalah bagian dari program yang memiliki nama tertentu, digunakan untuk mengerjakan suatu pekerjaan tertentu, serta letaknya terpisah dari bagian program yang menggunakannya, sedangkan prosedur adalah sederetan instruksi yang dikerjakan secara berurutan dan diberi nama, dan memiliki tujuan tertentu. Fungsi dan prosedur bekerja dengan mekanisme pemanggilan pengembalian (call back mechanism). Yang membedakan adalah prosedur tidak mengembalikan nilai keluar setelah pemanggilannya.
    Contoh: Pascal, C, dll.
  • Object Oriented
    Model pemrograman ini berorientasi pada objek, ditunjukkan dengan adanya object dan class. Object memiliki nilai dan direferensikan pleh pengidentifikasi, dan class merupakan kumpulan definisi data dan fungsi-fungsi dalam suatu unit yang dapat menentukan apa yang dimiliki sebuah object dan dilakukan oleh sebuah object.
    Contoh: Java (J2EE, J2GE, J2ME), Python
C. Peran
Bahasa pemrograman memiliki peranan-peranan penting yang dapat diimplementasikan dalam berbagai hal.
  • Jaringan Komputer / Socket Programming (C, Java, Python, dll.)
    Jaringan komputer adalah sebuah sistem yang terdiri dari dua atau lebih komputer yang saling terhubung satu sama lain melalui media transmisi atau media komunikasi sehingga dapat saling berbagi data, aplikasi maupun berbagi perangkat keras komputer. Hampir di setiap instansi, seperti pemerintahan, perbankan, pendidikan, dan sebagainya telah menggunakan jaringan komputer. Dengan jaringan komputer, pengolahan dan komunikasi data dapat dilakukan secara lebih cepat dan efisien.
    Salah satu penggunaan teknologi jaringan komputer yaitu socket programming, yang merupakan pemrograman yang bertujuan agar satu program bisa berinteraksi dengan program lainnya dalam satu jaringan, biasa disebut juga dengan pemrograman jaringan.
  • Database (Java, OBDC, Python, dll.)
    Database adalah kumpulan data yang saling berhubungan (berelasi), yang diolah dan diorganisasikan sehingga menjadi sebuah informasi yang berguna tanpa adanya redudansi (pengulangan) data yang tidak perlu.
  • Internet of Things
    Internet of Things (atau yang dikenal dengan sebutan IoT) sebuah teknologi yang memungkinkan kita untuk menghubungkan mesin, peralatan, dan benda fisik lainnya dengan sensor jaringan dan aktuator untuk memperoleh data dan mengelola kinerjanya sendiri, sehingga memungkinkan mesin untuk berkolaborasi dan bahkan bertindak berdasarkan informasi baru yang diperoleh secara independen. Pengaplikasian dari Internet of Things sangat beragam, seperti pemantauan jarak jauh, pengoptimalan sistem yang sudah ada, aplikasi pemantau keadaan fisik diri sendiri seperti Nike+, dan masih banyak lagi.
  • Cloud Computing
    Teknologi Cloud Computing kerap digunakan untuk menyimpan berbagai data dalam sebuah sistem cloud yang berbasis internet. Pada dasarnya, cloud computing adalah sebuah arsitektur teknologi informasi yang dimana sumber daya komputasi tersedia sebagai layanan yang dapat diakses melalui internet.
  • Intelligent Transportation System
    Intelligent Transportation System (ITS) adalah integrasi antar sistem informasi dan teknologi komunikasi dengan infrastruktur transportasi, kendaraan, dan pengguna jalan. Sistem ini diharapkan dapat membantu sistem transportasi secara keseluruhan untuk bekerja lebih efektif dan efisien. Contoh dari penerapan Intelligent Transportation System antara lain sistem pemarkiran cerdas dengan menggunakan sensor untuk membantu memarkirkan mobil.
  • Parallel Computing
    Parallel computing adalah cara menjalankan sebuah program secara simultan dengan memanfaatkan lebih dari satu CPU secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik dalam mengolah data dalam jumlah besar (umumnya di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak.
  • Bio Informatika dan E-Health
    Bio Informatika adalah ilmu yang mempelajari penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis, yang merupakan ilmu terapan dari lahirnya perkembangan teknologi informasi di bidang molekuler. Salah satu pemanfaatan dari Bio Informatika adalah penggunaan database untuk mengelola informasi biologis (misalnya mengenai DNA).
    E-Health adalah sistem yang memanfaatkan penggunaan teknologi informasi untuk memproses berbagai informasi kedokteran serta mempermudah administrasi dan pelayanan medis. Sistem E-Health sangat bermanfaat bagi dunia kesehatan untuk meningkatkan efisiensi dan kualitas pelayanan kesehatan.
D. Tips Pemrograman
Untuk menguasai bahasa pemrograman, ada perlunya kita mengetahui beberapa tips dalam pemrograman. Tips-tips pemrograman tersebut antara lain:
  • Pahami algoritma
    Sebelum membuat suatu program, kita harus membuat algoritmanya terlebih dahulu. Kita harus paham masalah apa yang hendak diselesaikan dan bagaimana penyelesaiannya, yang dirancang dalam sebuah bentuk algoritma yang sistematis.
  • Kuasai sintaks
    Setelah membuat algoritma, kita harus menguasai sintaks yang hendak digunakan dalam proses pemrograman. Hal ini penting untuk memudahkan pemrogram dalam membuat suatu kode.
  • Pahami model pemrograman, baik struktural maupun object oriented
    Jika sudah memahami algoritma dan menguasai sintaks, kita perlu memahami kedua model pemrograman karena model-model ini sangat menemtukan dalam pemilihan bahasa pemrograman apa yang hendak digunakan dalam menulis kode-kode pemrograman.
  • Berlatih
    Hal terpenting yang tidak dapat dipisahkan dalam menguasai pemrograman adalah latihan secara rutin. Dengan berlatih, kita dapat lebih memahami bahasa pemrograman dan struktur yang dipakai sehingga dapat mempermudah proses pemrograman.
  • Studi kasus sehari-hari
    Tak hanya sampai pada berlatih saja, studi kasus sehari-hari juga penting dalam menentukan masalah yang hendak kita selesaikan dalam program yang dibuat. Tujuannya adalah agar program yang dibuat bermanfaat bagi pengguna yang membutuhkannya.
  • Aktif dalam pengembangan (project, open source, github, dan lain-lain)
    Untuk menunjang dan menambah pengetahuan dalam hal pemrograman, setidaknya kita perlu aktif mengikuti pengembangan yang dilakukan oleh orang lain di sekitar kita. Hal ini berperan dalam mengetahui informasi terbaru dalam bidang pemrograman sehingga dapat mempermudah kita dalam membuat program nantinya.
E. Security
  • Kesalahan algoritma
    Terkadang, dalam membuat sebuah program kita menghadapi kesalahan yang terjadi pada algoritma yang sudah dibuat. Apabila kita menemukan kesalahan seperti ini, proses tetap berjalan meskipun hasil tidak seperti yang diharapkan. 
  • Buffer overflow
    Buffer overflow terjadi jika suatu program berusaha menyimpan data ke buffer (area penyimpanan data dengan ukuran tertentu), dimana ukuran data lebih besar dari ukuran buffer. Selain itu, buffer overflow juga dapat terjadi karena pembuat program menulis baris kode tanpa mengecek ukuran dari buffer yang dituju untuk mengetahui apakah cukup untuk menerima data baru.
F. Tingkat Pemrograman
  • Tinggi
    Bahasa pemrograman tingkat tinggi memiliki kemiripan dengan bahasa manusia ketimbang bahasa mesin, sehingga bahasa ini pada umumnya mudah dipelajari. Contoh: Pascal, C, Java, dll.
  • Rendah (bahasa mesin)
    Bahasa pemrograman tingkat rendah berorientasi kepada mesin dan bahasanya masih jauh dari bahasa manusia sehingga lebih sulit dipelajari.
    Contoh: assembly.

Sunday, November 6, 2016

Sistem Operasi Linux Ubuntu 16.04

Kali ini, saya akan membahas bagaimana cara menginstall sistem operasi Linux Ubuntu 16.04 melalui dual boot dengan Windows 7, dan mencoba menggunakan beberapa aplikasi di dalamnya. Tujuannya antara lain:
1.     Memberikan pemahaman praktek mandiri mengenai sistem operasi Linux dan kernel Linux yang banyak diterapkan di banyaak platform (server, desktop, mobile computing, embedded system) serta di banyak bidang kehidupan saat ini.
2.     Memberikan pemahaman mengenai terapan Linux pada jaringan computer serta pengenalan dasar jaringan komputer kepada mahasiswa.
Menginstall Linux Ubuntu
1.     Lakukan partisi hard disk terlebih dahulu, dengan meng-klik kanan pada bagian This PC, kemudian pilih Manage. Selanjutnya, klik Disk Management. Klik kanan pada bagian drive yang hendak dipartisi, kemudian pilih Shrink Volume. Masukkan jumlah kapasitas hard disk yang hendak dipartisi (dalam artikel ini saya menggunakan 38 GB atau sekitar 38000 MB yang sebenarnya agak terlalu banyak untuk proses ini), kemudian pilih Shrink. Akan muncul bagian yang telah dipartisi sebagai Unallocated.

2.     Masukkan USB yang sudah terisi file Linux yang telah terkompres, kemudian restart laptop. Ketika laptop sedang restart masuklah ke mode BIOS (dalam artikel ini saya menekan tombol F2).

3.     Saat sudah masuk ke mode BIOS, masuklah ke menu Boot, kemudian pilih Disabled pada Launch PXE Oprom policy. Kemudian pada Boot Option Priorities, pastikan bahwa USB yang akan dipakai booting berada pada pilihan Boot Option #1. Setelah itu, pilih menu Save and Exit.

4.    Setelah keluar dari mode BIOS, muncul beberapa pilihan pada UNetBootin untuk menginstall Linux. Pilih Install Ubuntu.
Kemudian pilih bahasa yang akan digunakan. Lalu pilih I don’t want to connect to a network right now pada menu Wireless.


6.     Pada Installation Type, pilih Something Else. Pilih free space yaitu partisi yang akan dijadikan tempat menginstall Linux, lalu pilih +. Pada pilihan Create Partition, masukkan size yang diinginkan (saya memakai 32 GB atau sekitar 32000 MB), pilih Logical pada Type for the new partition, pilih Beginning of this space untuk lokasinya, kemudian pilih Ext4 journaling file system pada bagian Use as dan pilih / pada mount point, lalu klik Ok.

Kemudian buatlah swap area, caranya sama dengan menambah partisi seperti proses sebelumya. Dalam proses ini saya menggunakan 4096 MB dan memilih swap area pada bagian use as.



Lalu, saya menggunakan partisi sebesar 1024 MB yang di-setting sebagai /boot dalam mount point. Setelah selesai, klik Install Now untuk mulai menginstall.



7.     Setelah itu, pilih zona waktu Anda, kemudian klik Continue.

8.     Pada Keyboard Layout pilihlah bahasa keyboard yang diinginkan. Klik Continue.

9.     Masukkan nama, nama computer, username, dan password pada menu Who are you? Kemudian klik Continue.

10.  Proses penginstallan akan berjalan, setelah proses selesai akan ada notifikasi yang menunjukkan bahwa proses selesai.

Berikut adalah hasil dari proses dual boot Windows 7 dengan Linux Ubuntu 16.04.


Aplikasi yang Ada pada Linux Ubuntu
Setelah proses penginstalan Linux selesai, saya mencoba menjalankan beberapa aplikasi yang terdapat didalamnya. Ada berbagai macam aplikasi dalam Linux Ubuntu yang dapat digunakan di berbagai bidang, seperti perkantoran, desain grafis, pemrograman, Internet/Web, pendidikan, jaringan komputer, dan masih banyak lagi.
Libre Office

Kategori: Perkantoran
Web: https://www.libreoffice.org/
Libre Office adalah sebuah paket aplikasi perkantoran yang bersifat open source yang dikembangkan oleh The Document Foundation (TDF). Fitur-fitur yang dimiliki oleh Libre Office antara lain:
-        Menyimpan dan membuka dokumen dengan format ODF (Open Document File)
-        Membuka file dengan format .docx (format dokumen standar Microsoft Word 2007)
-        Membuat dokumen presentasi, dokumen excel, dan masih banyak lagi.
Komponen aplikasi yang ada pada Libre Office adalah sebagai berikut.
·       Writer
Pengolah kata dengan fungsi yang hampir sama dan dukungan berkas terhadap Microsoft Word atau WordPerfect. Writer juga dapat berfungsi sebagai penyunting teks dasar.


·       Calc
Lembar kerja yang mirip dengan Microsoft Excel atau Lotus 1-2-3. Calc memiliki beberapa fitur unik, termasuk sebuah sistem yang secara otomatis mendefinisikan beberapa elemen grafik sesuai dengan informasi yang diberikan oleh pengguna.


·       Impress
Aplikasi presentasi yang mirip dengan Microsoft PowerPoint. Presentasi dapat diekspor sebagai berkas SWF, yang memungkinkan untuk dapat dilihat dikomputer dengan Adobe Flash terinstal.


·       Draw
Penyunting grafis vektor dan perangkat pembuat diagram yang mirip dengan Microsoft Visio dan sebanding dalam fitur pada versi awal dari CorelDRAW. Libreoffice Draw menyediakan konektor antara bentuk (shape) yang tersedia dalam berbagai macam garis dan memungkinkan pembuatan gambar seperti diagram alir.


·       Math
Aplikasi yang dirancang untuk membuat dan menyunting formula matematika. Program ini menggunakan varian dari XML untuk membuat formula sebagaimana yang ditetapkan dalam spesifikasi OpenDocument.
GIMP

Kategori: Desain Grafis
Web: https://www.gimp.org/
Gimp merupakan singkatan dari GNU Image Manipulation Program  yaitu sebuah aplikasi pengolah gambar yang memiliki berbagai fungsi, misalnya mengolah foto, mengkomposisi gambar (citra), dan membuat gambar.
Mozilla Firefox

Kategori: Internet/Web
Web: https://www.mozilla.org/en-US/firefox/
Mozilla Firefox adalah program penjelajah web yang didistribusikan oleh Yayasan Mozilla secara gratis. Fitur yang ditawarkan Firefox meliputi penggunaan tab, pengecekan ejaan, pencarian, bookmark, mengembalikan session, pengunduhan, dan private browsing.


Android Studio

Kategori: Pemrograman
Web: https://developer.android.com/studio/index.html
Android Studio adalah sebuah aplikasi Integrated Development Environment (IDE) untuk pengembangan aplikasi Android.


Tux Math

Kategori: Pendidikan
Web: http://tux4kids.alioth.debian.org/tuxmath.php
Tux Math adalah aplikasi permainan bergaya arcade untuk belajar aritmatika, dikembangkan secara open source. Permainan ini prinsipnya mirip dengan permainan Missile Command, tetapi dengan komet yang berjatuhan ke bumi bukannya misil. 


Ping

Kategori: Jaringan Komputer
Ping  adalah sebuah program utilitas yang dapat digunakan untuk memeriksa Induktivitas jaringan berbasis teknologi Transmission Control Protocol/Internet Protocol (TCP/IP). Dengan menggunakan utilitas ini, dapat diuji apakah sebuah komputer terhubung dengan komputer lainnya. Cara mengakses Ping pada Linux adalah dengan mengetikkan ping pada Terminal kemudian diikuti dengan spasi dan alamat website/IP yang hendak di-ping.


Wireshark

Kategori: Jaringan Komputer
Web: https://www.wireshark.org/
Wireshark adalah aplikasi Network Analyzer yang banyak digunakan oleh Network Administrator untuk menganalisa kinerja jaringannya dan mengontrol lalu lintas data di jaringan yang Anda kelola. Wireshark menggunakan interface yang menggunakan Graphical User Interface (GUI). Dengan segala kemampuan yang dimilikinya, wireshark digunakan untuk keperluan analisis, troubleshooting, pengembangan software dan protokol, serta digunakan juga untuk tujuan edukasi.

Etherape

Kategori: Jaringan Komputer
Web: http://etherape.sourceforge.net/
Etherape adalah program untuk memonitor aktivitas jaringan komputer, dengan program ini kita bisa mengetahui aplikasi yang sedang berjalan. Cara menginstall Etherape adalah dengan menjalankan perintah  sudo apt-get install etherape pada Terminal atau mendownload programnya di http://etherape.sourceforge.net/download.shtml kemudian buka programnya di Applications – Internet – EtherApe.