• Tidak ada hasil yang ditemukan

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

N/A
N/A
Protected

Academic year: 2021

Membagikan "PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024"

Copied!
7
0
0

Teks penuh

(1)

Bahan Ajar 2:

Proses Pemrograman

(Minggu ke-3)

PEMROGRAMAN

DAN METODE NUMERIK

Semester 2/ 2 sks/ MFF 1024

Oleh

Dr. Fahrudin Nugroho

Didanai dengan dana BOPTN P3-UGM

Tahun Anggaran 2013

November 2013

PROGRAM STUDI FISIKA

FMIPA

(2)

BAB 3

Proses Pemrograman

3.1 Program dan Bahasa Pemrograman

Program dalam istilah komputer mempunyai arti sebagai kumpulan perintah yang digunakan untuk mengatur komputer untuk melaksanakan suatu pekerjaan. Melalui program inilah kemudian manusia dapat berinteraksi dengan "mesin" komputer. Tanpa sebuah program maka komputer tidak akan dapat melakukan sesuatu sesuai dengan yang dikehendaki. Jadi ketika suatu program dibuat dan dijalankan, terjadi interaksi antara manusia dan komputer.

Seperti halnya interaksi antar manusia diperlukan suatu bahasa agar setiap ungkapan dapat difahami dan setiap perintah ataupun informasi dapat ditindak lanjuti. Karenanya untuk bisa membuat program, seorang programer (orang yang biasa membuat program komputer) yang ingin berinteraksi dengan komputer memerlukan bahasa pemrograman (lihat ilustrasi yang diambil dari http://fooyoh.com/iamchiq_living lifestyle/5062933 berikut).

Gambar 1: Ilustrasi interaksi programer (manusia) dengan komputer.

(3)

Agar dapat difahami maka seorang programer harus mengikuti kaidah bahasa program tertentu yang kemudian disebut sebagai bahasa pemrograman. Bahasa pemrograman dapat dikategorikan kedalam

1. Bahasa beraras tinggi 2. Bahasa beraras rendah

Bahasa beraras tinggi adalah bahasa pemrograman yang berorientasi pada manusia (programer). Artinya bahasa program jenis ini lebih mudah difahami karena mendekati bahasa manusia dan menggunakan kata-kata yang biasa digunakan oleh manusia khususnya bahasa Inggris. Contoh bahasa jenis adalah bahasa Basic, Pascal, Fortran, C, C++, Java. Sedangkan bahasa beraras rendah adalah bahasa yang berorientasi pada mesin. Bahasa ini menggunakan kode biner yang hanya mengenal angka 0 dan 1. Yang tergolong dalam bahasa ini adalah bahasa Asembler (rakitan). Bahasa semacam ini sulit untuk dibaca dan difahami langsung oleh manusia dan programer yang biasa menggunakan bahasa beraras tinggi. Biasanya bahasa mesin hanya bekerja pada satu jenis mesin tertentu karenanya disebut machine dependent.

3.2 Penerjemah Bahasa

Sebagaimana dijelaskan sebelumnya bahwa sebenarnya ada perbedaan antara bahasa manusia dan bahasa mesin. Bahasa mesin sulit dimengerti oleh manusia dan sebaliknya mesin tidak bisa memahami bahasa manusia. Singkatnya bahasa program yang di buat dengan bahasa program beraras tinggi tidak bisa difahami langsung oleh mesin. karenanya diperlukan penerjemah bahasa, yang menerjemahkan setiap perintah dari bahasa aras tinggi kedalam bahasa mesin, agar mesin dapat menjalankan perintah-perintah tersebut. Penerjemah bahasa ini kemudian dikelompokan menjadi:

1. Interpreter.

Yaitu penerjemah bahasa yang mengerjakan satu baris intruksi bahasa kedalam bahasa mesin untuk kemudian dijalankan oleh mesin Instruksi berikutnya akan diterjemahkan selanjutnya jika instruksi pertama telah selesai diinstruksikan. Dengan kata lain interpreter menterjemahkan dan menginstruksikan semua perintah satu persatu.

(4)

2. Compiler.

Berbeda dengan interpreter, Compiler bekerja secara lebih kompak yaitu menerjemahkan semua instruksi kedalam bahasa mesin sekaligus menjadi kode objek. Dan tidak ada proses penerjemahan lagi ketika kode objek dijalankan oleh mesin. Hasil dari proses kompilasi ini biasanya adalah program yang dapat dijalankan tanpa ada translator, atau sering disebut sebagai executable. Sekarang ini program yang executable ini sering disebut sebagai aplikasi.

Dengan menggunakan Interpreter seseorang dapat melakukan proses pencarian kesalahan pada kode sumber dengan lebih mudah. Namun kelemahanya adalah bahwa setiap kali menjalankan program dengan interpreter maka kode sumber harus selalu tersedia dan jika jumlah instruksi besar maka proses pengeksekusian menjadi lambat, dan proses ini selau berulang setiap kali program digunakan. Sedangkan dengan Compiler, pengerjaan instruksi bisa berjalan dengan cepat karena setiap kali hanya diperlukan satu program executable yang telah dihasilkan. Program executable ini juga bisa diduplikasi dan dijalankan pada komputer yang lain dengan platform yang sama. Namun secara kebahasaan program yang diproses dengan compiler harus betul secara keseluruhan sebelum benar-benar bisa dikompilasi dan distribusikan.

3.3 Merancang sebuah program

Sebuah program dirancang dan dibuat untuk menyelesaikan secara khusus sebuah permasalahan. Terdapat tiga langkah penting dalam menyelesaikan permasalahan:

1. Menganalisa masalah, dan merancang urutan penyelesaian (Algoritma) 2. Menuangkan Algoritma kedalam bentuk program

3. Mengeksekusi dan menguji program

3.3.1 Menganalisa, dan merancang urutan penyelesaian masalah

(Algoritma)

Pada dasarnya permasalahan yang dapat dikerjakan melalui proses pemrograman sangatlah luas. Mulai dari suatu permasalahan yang sederhana sampai dengan permasalahan yang kompeks. Biasanya permasalahan yang komplekslah yang perlu dikerjakan dengan program komputer. Akan tetapi dalam catatan kuliah kali ini akan

(5)

dijelaskan beberapa permasalahan yang sederhana dengan tujuan mahasiswa dapat memahami dengan lebih mudah proses mengalisa masalah dan proses merancang suatu urutan kerja (Algoritma)1.

Sebelum merancang suatu urutan kerja, maka biasanya dillakukan identifikasi masalah dan penyaringan informasi. Berdasarkan hasil identifikasi masalah dan penjaringan informasi maka kemudian langkah kerja dapat dirancang dan untuk selanjutnya dapat dituangkan kedalam bentuk program.

Sebagai contoh sederhana, kali ini akan diselesaikan suatu permasalahan menghitung luas lingkaran. Jelas permasalahan ini adalah permasalahan matematik biasa dan melibatkan rumus perhitungan biasa. Sedangkan informasi yang diperlukan untuk dapat menyelesaikan masalah ini adalah yaitu data besarnya nilai  dan panjang jejari lingkaran. Dengan logika sederhana maka rancangan penyelesaian permasalahan ini dapat dituliskan sebagai berikut

Luas = nilai pi x panjang jejari x panjang jejari

Algoritma bagi penyelesaian masalah ini kemudian dapat dituliskan sebagai berikut: 1. Peroleh panjang jejari

2. Hitung luas lingkaran sesuai dengan rumus 3. Tampilkan nilai luas lingkaran

Ada banyak cara untuk menuliskan Algoritma dan Algoritma tidak selalu dituangkan seperti layaknya bahasa manusia. Diantaranya dengan menuangkan kedalam kode semu (pseudocode). Untuk permasalahan luas lingkaran maka pseudocode yang mungkin adalah sebagai berikut

luas <-- pi x panjang jejari x panjang jejari

Untuk suatu program yang lebih kompleks maka diperlukan ungkapan kode semu yang lebih panjang dan kompleks, untuk kasus seperti ini maka biasanya kode semu lebih

1

Istilah Algoritma diambil dari nama seorang ilmuwan Arab bernama Abu Ja'far Mohammed Ibn Musa al Khowarizmi.

(6)

berorientasi dan lebih mirip pada bahasa program dimana permasalahan tersebut akan diselesaikan.

Selain kode semu kadangkala Algoritma di tuangkan kedalam bentuk diagram alir (Flow Chart). Sebagai contoh diagram alir untuk menghitung luas lingkaran diberikan pada gambar berikut:

Dari gambar di atas dapat kita lihat berbagai macam bentuk yang digunakan dalam diagram alir. Bentuk oval menandakan memulai dan akhir. Bentuk persegi empat yang digunakan untuk melambangkan proses perhitungan. Bentuk jajaran genjang menandakan masukan atau keluaran suatu proses. Bentuk layang-layang menandakan pengambilan keputusan.

3.3.2 Menuangkan Algoritma kedalam Kode Sumber

Setelah proses analisa masalah dan pembuatan Algoritma selesai dibangun maka proses selanjutnya adalah pembuatan kode sumber. Untuk kasus permasalahan luas lingkaran maka kode sumber dalam bahasa C kurang lebih dapat dilihat sebagai berikut:

(7)

#include <stdio.h>

#define PI 3.1415926535897932385E0 main()

{

double radius, area;

/* mendefiniskan variabel-veriabel */

printf("Enter the radius of a circle \n"); /* perintah memasukan input radius */

scanf("%lf", &radius); /* membaca input radius */ area = radius * radius * PI; /* rumus area */

printf("radius=%f, area=%f\n", radius, area); /* mencetak hasil */

}

3.3.3 Mengeksekusi program dan menguji program

Setelah kode sumber diatas di buat dalam editor, maka dapat disimpan dengan extension c. Dan selanjutnya dapat dikompilasi dengan kompiler c. Diantara kompiler c yang dapat digunakan adalah gcc yang telah tersedia pada sistem operasi Linux. Dengan proses kompilasi akan dapat diketahui apakah program tersebut sudah benar secara sintaks atau belum. Jika terdapat peringatan error (kesalahan) maka dapat dicari bagian/baris mana yang mengakibatkan adanya error tersebut. Setelah diketahui baris yang menyebabkan error dan dilakukan perbaikan maka program dapat kembali dikompilasi. Demikian seterusnya sampai program benar-benar selesai dikompilasi tanpa ada peringatan error. Stelah itu program executable yang diperoleh dapat dijalankan dan nilai keluaran dapat diuji kebenarannya. Khusus untuk kasus sederhana seperti luas lingkaran maka uji keluaran tersebut dapat diperoleh dengan membandingkan dengan hasil perhitungan analitik. Untuk program yang dirancang menyelesaikan permasalahan yang kompleks seringkali pencarian kesalahan baik dalam program maupun keluaran tidaklah sederhana.

Dalam konteks program kesalahan dalamkode sumber sering disebut dengan disebut dengan bug, dan proses pencarian kesalahan ini sering disebut sebagai debugging.

Gambar

Gambar 2: Contoh penulisan algoritma dalam bentuk diagram alir (Flow Chart).

Referensi

Dokumen terkait

Perletakan koleksi pada ruang pameran museum harus diperhatikan untuk memudahkan pengunjung dalam melihat, menikmati dan mengapresiasi koleksi yang dipamerkan seperti

Jika domain dari pelabelan adalah gabungan himpunan simpul dan busur, maka pelabelannya disebut pelabelan total Jumlah dari semua label yang terkait dengan suatu elemen graf

Tugas akhir yang berjudul “Strategi Marketing Public Relations untuk mencapai kepuasan konsumen PT Taruma Dirgantara”, ini merupakan salah satu prasyarat kelulusan

Tersusunnya kebutuhan formasi jabatan dalam ABK/e-formasi sebagai dasar usulan penambahan formasi 3 Penempatan pegawai belum seluruhnya sesuai dengan format yang

Kajian filologis menekankan pada penyajian suntingan naskah yang bersih dari kesalahan atau yang mendekati asli, sedangkan kajian isi dalam penelitian ini adalah

Mengingat masalah ketersediaan/keterbatasan lahan dan masalah pembiayaan merupakan bagian dari permasalahan yang dihadapi dalam mencapai target pembangunan perumahan

PEMERINTAH KABUPATEN ACEH SELATAN DINAS PENDIDIKAN. SMK NEGERI

Arah kebijakan pengembangan sistem perlindungan hortikultura terkait dengan sasaran strategis Tahun 2015 – 2019 adalah Pengelolaan OPT melalui pendekatan konsep PHT;