WELCOME TO MY BLOG

Rabu, 30 September 2015

Bahasa Pemrograman C (Bahasa Pemrograman)



Perkembangan bahasa pemograman
Bahasa pemograman di buat dengan tujuan membantu manusia dalam membuat program menggunakan editor tertentu.
Untuk dapat dijalankan di computer tertentu,kode pemograman harus di kompelilasikan terlebih dahulu.
1.      Bahasa pemograman generasi ke satu ( bahasa mesin )
bahasa pemograman generesi ke satu merupakan bahasa pemograman yang sangat dasar dan kuno , bahasa generasi pertama ini sering disebut dengan istilah bahasa mesin, yang berarti bahasa biner: kode-kode mesin hanya dapat di interfenetasikan langsung oleh mesin computer.
kebihan eksekusi cepat,dan kelemahannya sulit di pelajari manusia.
2.      Bahasa Pemograman Generasi Ke Dua Atau Nahasa Assembly
Bahasa pemograman generasi ke dua ini juga sudah mulai di tinggalkan oleh para programmer yang tidak langsung berhubungan dengan perangkat keras, pada dasarnya bahasa ini merupakan bahasa mesin yang disimbolkan dengan bahasa inggris sederhana sehingga memudahkan programmer. Beberapa operator, misalnya MUL spasi untuk perkalian, SUB spasi untuk pengurangan, ADD untuk penjumlahan, DIV untuk pembagian, dll.
Kelebihan exklusi cepat, lebih mudah di pelajari dari pada bahasa mesin, file kecil.
Kelemahan sulit dipelajari, program sangat panjang.
3.      Bahasa pemograman generasi ke tiga
Bahasa  pemograman generasi ke tiga sampai saat ini sering digunakan oleh programmer untuk membuat berbagai aplikasi aras, tinggi, maupun rendah. Pada bahasa pemograman generasi ini mulai dikenal dengan istilah sintaks, bahasa pemograman ini menyediakan banyak kemudahan  dalam pembuatan program, seperti variable, tipe data, konstanta,stuktur control lux, fungsi, prosedur, dll.
Contoh bahasa pemograman generasi ke tiga adalah C, basis, dan pascal.
Kelebihan mudah dipelajari, mendekati permasalahn yang akan dipecahkan, kode pemograman pendek.
Kelemahan ekskusi lambat.
4.      Bahasa Pemograman Generasi Ke Empat
Bahasa pemograman generasi ke empat dibuat untuk menyelesaikan berbagai persoalan pemograman yang kompleks dan fesifik.
Contoh bahasa pemograman generasi ini adalah SQL, HTML, Visual Basis, Delvi, dan vakro. Ada beberapa jenis bahasa pemograman yaitu:
a.       Report generator
b.      Froms generator
c.       Computer aided softwer engeline
d.      Data bases
Kelebihannya beroentasi pada masalah secara langsung, kelemahan sangat fasifik sehingga hanya bisa berfungsi untuk suatu hal tertentu.
5.      Bahasa Pemograman Generasi Ke Lima
Bahasa pemograman ini dipakai agar computer dapat menyelesaikan suatu masalah berdasarkan kontak yang diberikan.
Contoh: prolog, OVs 5, dll
Kelebihannya, sengat sesuai untuk memecahkan masalah sistem cerdas, dan kekurangannya membutuhkan pengetahuan lebih untuk membuat pemograman dengan bahasa level.
Ada beberapa jenis translator bahasa pemograman yaitu:
1.      Assembler
Pada translator assembler terjadi perubahan bentuk dari kode sumber yang berupa bahasa assembly yang merupakan bahasa pemograman generasi ke dua menjadi bahasa mesin yang dapat di eksklusi langsung oleh prosesor tertentu,
2.      Interpleter
Pada interpleter, kode pemograman bersama-sama dengan input dari pengguna  di interpretasikan ( di pahami satu persatu lalu di cocokkan dengan bahasa mesin prosesor tertentu), oelh mesin interpleter hingga dilakukan di computer, seperti menampilkan ke layar monitor, dll.
3.      Compiler
Pada mesin compiler kode pemograman di komplilasikan sehingga menghasilkan bentuk lain yaitu objek kode, yang biasanya berintasi.o, atau .obj. peristiwa ini disebut dengan komplketen.
Contoh: basasi bahasa pascal, C++
Cara Membuat Program
1.      Program merupakan langkah-langkah pertama dilupakan para progremer, contohnya kasusu dapat dilihat pada pemograman perkalian metris dengan menggunakan computer. Pada kasus ini input adalah 2 matris yang sebaiknya disimpan pada aray atau larik 2 dimensi, sedangkan prosesnya adalah rumus mengalikan 2 buah matris dimana rumus tersebut tidak bisa ditentukan secara sembarangan. Jika matris a dan b tidak mengikuti aturan ( m*o )* (o*n), maka kedua matris tidak bisa dikalikan.
2.      Menetukan solusi setelah masalah di definisikan dengan benar maka langkah berikutnya adalah menentukan masalah. Contoh, untuk perkalian matris, kita daopat membagi menjadi beberapa modul: a. modul meminta masukkan 2 buah matris, b. modul mengalikan 2 buah matris, c. modul untuk menampilkan hasil perkalian matris kedua pengguna.
3.      Memilih algoritma dan struktur data, pemilihan algoritma sangat berpengaruh hasil akhir program keseluruhan. Selain algoritma, pemilihan struktur data yang sesuai dengan masalah tertentu sangat berguna sehingga proses pembuatan program dapat berjalan lebih cepat.
4.      Menulis program , pemilihan bahasa program yang mudah dipelajari dan digunakan, dan akan lebih baik lagi jika sudah dikuasai: memiliki tingkat kompliditas tinggi dengan perangkat keras dan platform lain. Sehingga kini hanya dua bahasa pemograman yang dapat diguanakan untuk aplikasi destop, web, mobile.
5.      Menguji program, setelah program dibuat silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk eror, hingga program tersebut benar-benar handal dan layak digunakan.
6.      Menulis dokumentasi, sangat penting pada suatu saat kita akan melakukan perubahan atau membaca sorche kode program maka kita dapat mengingat sehingga dapat memudahkan membacanya.
7.      Merawat program untuk mencegah munculnya bung atau pracat yang sebelunnya tidak terdesi.
Penggunaan Editor IDE Devc++
Penulis memilih menggunakan tool programmer DevC++ untuk mempelajari bahasa C, alasannya adalah: mudah dipergunakan,gratis, standard ANSI, bisa digunakan di windows dan linux, ringan dan cepat, IDE nya lengkap beseta modul-modul tambahan serta file Helpnya.
Penjelasan dan Penggunaan Identifier Serta Tipe Data pada bahasa C
Identifier adalah pemberian nama untuk sebuah obyek, nama fungsi, nama variabel atau penamaan lainnya. Identifier pada bahasa pemrograman C++ bersifat sensitive case, terdiri dari:
1. Huruf ‘A’ sampai ‘Z’
2. Huruf ‘a’ sampai ‘z’
3. Underscore ( _ )
4. Bilangan antara ‘0’ sampai ‘9’
Ketentuan dalam memberi nama identifier pada C++ adalah:
1. Diawali dengan huruf atau underscore (untuk awal).
2. Untuk compiler borland, panjang maksimum 32 karakter.
3. Identifier tidak boleh menggunakan reserved word.
4. Tidak boleh menggunakan karakter-karakter  ~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < >  ? , . / |
5. Tidak boleh ada spasi
Tipe data
Keterangan
Ukuran
Jangkauan
char
abjad/karakter atau untuk bilangan bulat kecil.
1 byte
signed: -128 to 127
unsigned: 0 to 255
short int (short)
bilangan bulat dengan jangkauan pendek
2 byte
signed: -32768 to 32767
unsigned: 0 to 65535
int
bilangan bulat
4 byte
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
long int (long)
integer dengan jangkauan panjang
4 byte
Signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
bool
boolean, dapat bernilai benar atau salah (true or false)
1 byte
true or false
float
angka dengan titik dan angka dibelakang titik (bilangan cacah)
4 byte
3.4e +/- 38 (7 digit)
double
bilangan cacah dengan ketelitian ganda
8 byte
1.7e +/- 308 (15 digit)
long double
bilangan cacah dengan ketelitian panjang ganda
8 byte
1.7e +/- 308 (15 digit)
wchar_t
karakter lebar, biasa dipakai untuk unicode karakter
2 byte
1 karakter lebar
Keyword Bahasa C
Keyword dalam standar ANSI (American National Standarts Institute) menetapkan sebanyak 32 buah keyword standar. Berikut 32 keyword bahasa C:

Dibuat oleh : Shamaratul Fuadi
Mata kuliah : Bahasa Pemrograman
Prodi : T. Elektro Industri
Universitas Negeri Padang

Flowchart dan Pseudocode (Bahasa Pemrograman)




Pengertian Flowchart  
           
Diagram alir (flowchart) adalah alat untuk memeriksa suatu proses. Diagram Alir (Flowchart) sangat mudah untuk dipahami, karena algoritma dinyatakan secara visualisasi dengan menggunakan simbol-simbol khusus. Akan tetapi memberikan kesempatan yang besar untuk menuliskan algoritma yang tidak terstruktur selain itu juga sulit melakukan proses pengkodean

Pengertian Pseudocode
            Pseudo-code merupakan cara untuk menerangkan suatu algoritma dengan menggunakan tata cara penulisan bahasa pemrograman tertentu. Sebagaimana namanya, pseudo-code tidak dapat dieksekusi langsung pada komputer, tetapi merupakan model dan harus diubah menjadi kode pemrograman yang sebenarnya.

Simbol Flowchart


Notasi Pseudocode

          Notasi Pseudocode (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang menyerupai notasi bahasa pemograman tingkat tinggi, khususnya bahasa pascal dan C. Umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi dalam beberapa bahasa pemograman seperti notasi if-then-else, while-do, repeat-until, read, write, dsb.
Contoh pnienggunaan :
Menentukan genap dan ganjil dari bilangan bulat positif seperti terlihat di bawah:
PROGRAM GanjilGenap
DEKLARASI
bil : integer
DESKRIPSI
read(bil)
if (bil MOD 2 = 0) then
write(’genap’)
else
write(’ganjil’)
endif 

Dibuat oleh : Shamaratul Fuadi
Mata kuliah : Bahasa Pemrograman
Prodi : T. Elektro Industri
Universitas Negeri Padang

Materi Algoritma (Bahasa Pemrograman)



Dasar Teori Tentang Algoritma dan Pemrograman
Algoritma adalah salah satu bidang ilmu yang pertama kali ditemukan oleh matematikawan asal Persia yang bernama “Muhammad Ibn Musa Al-Khawarizm”  lahir sekitar tahun 730 M dan meninggal antara tahun 835-850 M. Algoritma merupakan suatu metode atau langkah-langkah umum yang disusun secara sistematis dan logis  yang dugunakan untuk menyelesaikan  masalah atau kasus-kasus tertentu.
Dalam menuliskan algoritma,  dapat  digunakan  bahasa  natural  atau menggunakan notasi matematika, sehingga masih belum dapat dijalankan pada komputer. Dalam  kehidupan  sehari-hari,  kita  sudah  melakukan  penyusunan algoritma untuk menyelesaikan permasalahan atau tantangan  yang  dihadapi.  Sebagai  contoh,  pada  saat  diminta untuk  membuat  telur  dadar.  Sebelum  membuat  algoritmanya, kita  perlu  mendefinisikan  masukan  (input)  dan  luaran  (output) terlebih  dahulu, dimana  input  berupa telur  mentah, dan  output berupa telur dadar yang sudah matang.
Susunan algoritmanya sebagai berikut:
1.  Nyalakan api kompor
2.  Tuangkan minyak ke dalam wajan
3.  Pecahkan telur ayam ke dalam mangkok
4.  Tambahkan garam secukupnya
5.  Aduk campuran telur dan garam
6.  Tuang adonan telur ke dalam wajan
7.  Masak telur hingga matang
Algoritma  akan  lebih  baik  jika  ditulis  secara  sistematis menggunakan  beberapa  skema.
Karakteristik Algoritma
1.      Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.
2.      Setiap langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”
3.      Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
4.      Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
5.      Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.
Algoritma dapat dituliskan ke dalam berbagai bentuk, namun struktur yang rapi dan mengikuti aturan tertentu akan membuat algoritma lebih mudah untuk dibaca dan dipahami. Selanjutnya, algoritma yang telah tersusun rapi akan diimplementasikan ke bahasa pemrograman. Algoritma dapat dituliskan ke dalam berbagai bentuk, namun dan mengikuti aturan tertentu akan membuat algoritma lebih mudah untuk dibaca dan dipahami. Selanjutnya, algoritma yang telah tersusun rapi akan
PROGRAM
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata  algoritma dan kata program seringkali dipertukarkan dalam penggunaannya.  Algoritma adalah urutan langkah-langkah penyelesaian masalah sedangkanProgram adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut programmer. Tiap-tiap  langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh komputer. Secara garis besar komputer tersusun atas empat komponen utama, yakni:
1. piranti masukan berfungsi untuk memasukkan data atau program ke dalam memori komputer
2. piranti keluaran berfungsi untuk menampilkan hasil dari eksekusi program komputer
3. unit pemroses utama berfungsi mengerjakan operasi-operasi dasar
4. memori berfungsi untuk menyimpan program dan data atau informasi.

Mekanisme eksekusi sebuah program adalah sebagai berikut:
1. Program disimpan di dalam memori melalui piranti masukan.
2. Ketika sebuah program dieksekusi maka setiap instruksi  program akan dikirim dari memori ke unit pemroses utama. Unit pemroses utama kemudian akan menjalankan operasi sesuai instruksi-instruksi yang dibaca.
3. Apabila sebuah instruksi membutuhkan data masukan, maka piranti masukan akan membaca data masukan, mengirimkan ke memori kemudian mengirimkan ke unit pemroses utama untuk diproses.
4. Apabila eksekusi program menghasilkan data keluaran, maka data keluaran akan disimpan di dalam memori, kemudian dikirim ke piranti keluaran.

KRITERIA ALGORITMA
Menurut Bapa "Analisis Algoritma" Donald Ervin Knuth, atau biasa dipanggil dengan Knuth ini, algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
1.      Input
2.      Output
3.      Finite
4.      Definite
5.      Efisien
1. Input
Program minimal harus memiliki nol input atau lebih dari pengguna. Setiap program pasti memiliki input. Yang dimaksud dengan memiliki nol input berarti program tidak mendapat masukan data dari pengguna secara langsung, namun semua data akan digunakan oleh program yang sudah dideklarasikan di dalam kode program yang akan dieksekusi. Jadi tidak perlu diinputkan dari luar. Sedangkan mendapat input dari pengguna, data bisa dimaksukkan melalui program.
2. Output
Program minimal harus memiliki 1 output. Setiap program pasti memiliki output karena program dibuat untuk tujuan tertentu. Output program bisa berbentuk file, video, teks, dll, atau disimpan di clipboard yang kemudian digunakan di program lain atau disimpan dalam basis data.
3. Finite (Terbatas) 
Program yang dibuat harus pasti dan terbatas. Suatu program yang dieksekusi haruslah berhenti dan selesai, bukan harus berjalan terus-menerus hingga hang up atau not responding, dan ujung-ujungnya harus di-kill atau dimatikan dengan paksa. Suatu program dapat mengalami infinite (tak terbatas) karena kesalahan dari programmer.
 Walau sistem operasi tidak terbatas (infinite), tetapi sistem operasi juga akan mati jika komputer di shutdown.
4. Define (Pasti)
Suatu program harus jelas arah dan tujuannya. Program harus jelas kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika yang jelas agar dapat menghasilkan uotput yang sesuai dengan yang diinginkan.
5. Efisien
 Program harus efisien, artinya program tidak memakan banyak memori, tidak melakukan hal-hal yang tidak perlu. Kenapa? Karena setiap program akan memakan waktu untuk eksekusi. Jika melakukan hal-hal yang tidak perlu, bukan tidak mungkin program tesebut akan lelet.

Dibuat oleh : Shamaratul Fuadi 
Mapel            : Bahasa pemrograman
Prodi             : Teknik Elektro Industri
Universitas Negeri Padang