Anda di halaman 1dari 5

C / C++ / JAVA / C# / Python ?

C / C++ dan Java merupakan bahasa pemrograman yang umum digunakan sebagai penunjang mata kuliah pemrograman. Lalu apa yang membedakan bahasa pemrograman satu dengan bahasa pemrograman yang lain ? Perbedaaan yang sangat terlihat adalah syntax dari kode program yang dituliskan atau kita sebut dengan schemantic. Ada beberapa pembagian atau klasikasi dari bahasa pemrograman yaitu:

High vs Low High level language adalah bahasa pemrograman yang lebih mirip ke perintah dalam bahasa manusia dan bisa dianalogi dengan sebua buku resep, sedangkan low level language adalah bahasa pemrograman yang lebih cenderung ke arah mesin atau biasa disebut dengan bahasa assembly (bahasa dasar dari mesin/komputer). Contoh high level language adalah C, C++, Java, dan Python.

General vs Targetted General language adalah bahasa pemrograman yang bisa digunakan untuk semua keperluan komputasi sedangkan targetted language adalah bahasa pemrograman yang digunakan pada bidang tertentu saja. Contoh targetted language adalah matlab, maple, dan autocad.

Intrepeted vs Compiled Intrepeted language adalah bahasa pemrograman yang prosesnya dilakukan dengan menerjemahkan dan menjalankan kode program per baris sedangkan compiled language adalah bahasa pemrograman yang prosesnya dilakukan dengan menerjemahkan kode program secara keseluruhan baru melakukan eksekusi dari hasil terjemahan yang telah dilakukan. Contoh intrepeted language adalah python, perl, ruby, dsb sedangan contoh compiled language adalah C, C++, Java, dan C#.

Ada beberapa permasalahan yang harus dijelaskan sebelum anda melakukan perancangan program dengan bahasa pemrograman, yaitu:

Syntax.

Syntax adalah suatu pernyataan dalam suatu bahasa pemrograman yang valid.

Sebagai ilustrasi dalam bahasa Indonesia adalah kucing rusa bertsuang. Ketiga kata tersebut, kata pertama dan kedua terdapat dalam kamus bahasa Indonesia dan kata yang ketiga tidak terdaftar di kamus bahasa Indonesia. Begitupula dengan syntax yang ada pada bahasa pemrograman, apakah kata / huruf / angka yang kita ketik pada saat membuat suatu kode program sudah benar dan terdaftar sebagai keyword pada bahasa pemrograman tersebut.

Statik Simantik. Statik simantik adalah suatu pernyatan dalam bahasa pemrograman yang memiliki arti dan hubungan simantik yang benar. Sebagai contoh dalam bahasa Indonesia adalah Meja saya adalah Susan. Pada pernyataan tersebut, syntax yang digunakan sudah benar (memenuhi aturan SPOK), tetapi arti dari pernyataan tersebut yang tidak jelas / tidak umum. Pada kasus statik simantik, Anda mungkin akan mendapatkan sedikit bantuan / help dari literatur dan internet.

Simantik Penuh. Simantik penuh adalah bagaimana dan apakah yang dilakukan oleh sebuah program. Pada kasus ini, Anda tidak akan mendapatkan bantuan sehingga Anda harus merancang sendiri program yang Anda buat ini untuk apa dan akan menghasilkan keluaran seperti apa.

INSTRUKSI PRIMITIF DAN TIPE DATA

Kuliah yang Anda ikuti ini, yaitu algoritma, pemrograman, dan lab; merupakan mata kuliah yang mengajarkan sedikit syntax, sedikit statik semantik, dan banyak sekali semantik full. Untuk itu, diharapkan pada akhirnya Anda akan dapat memetakan permasalahan ke dalam domain komputasi, membuat program untuk penyelesaiannya, dan membaca program sehingga dapat memakai pustaka yang dibuat oleh orang lain. Dari ketiga permasalahan tersebut, permasalahan simantik penuh adalah permasalahan yang paling berat untuk pemula karena sedikitnya bantuan yang bisa didapatkan. Oleh kerena itu, kita harus memikirkan gaya kita untuk menuliskan program. Gaya yang bagus akan mempermudah kita untuk melakukan debugging pada program yang kita buat. Permasalahan gaya ini akan dibahas lebih detail pada section selanjutnya.

Apa itu komputasi ?


Tapi

Sebagaian dari Anda mungkin akan bertanya: mengapa kita perlu belajar pemrograman.

yakinlah bahwa seluruh bidang studi yang ada di Teknik Elektro ini membutuhkan skill untuk memrogram, minimal Anda mengerti tentang bagaimana cara membuat suatu algoritma komputasi. Lalu pertanyaan berikutnya adalah apa itu komputasi. Untuk dapat mengerti apa itu komputasi, kita akan membahas sedikit tentang pengetahuan. Pengetahuan dapat dibagi menjadi dua bagian yaitu deklaratif dan imperatif. Pengetahuan deklratif merupakan pengetahuan tentang sesuatu berupa hipo-tesis, teori, dan deklarasi tentang sesuatu. Sebagai contoh, Anda dapat melihat pernyataan berikut:

x = y, s.t. y 2 = x, y 0

Pernyataan diatas merupakan pernyataan pengetahuan deklaratif yang membuat aturan-aturan untuk teori tertentu. Pada kasus dapatkan nilai

x = y,

penyataan diatas tidak menjabarkan bagaimana men-

tetapi menyatakan aturan dan hubungannya.

Pengetahuan yang kedua adalah pengetahuan imperatif, yaitu pengetahuan berupa tahapan-tahapan yang dilakukan untuk mendapatkan sesuatu. Contoh mudah dari pengetahuan imperatif adalah resep masakan. Pada resep masakan, kita diminta untuk mempersiapkan bahan serta alat yang akan digunakan dan mengikuti seluruh tahapan yang diberikan secara detil. Pengetahuan imperatif pada bidang komputer bisa disejajarkan dengan komputasi secara umum. Contoh pada bidang komputer pada kasus yang sama dengan yang diberikan pada pengetahuan deklaratif, yaitu menghitung akar.

00 start; menebak G 01 jika G^2 = X stop return G 02 else G = (G + (X/G))/2 03 ulangi 00

Pada potongan tahapan diatas dapat dilihat bahwa pengetahuan imperatif mendeskripsikan langkahlangkah yang harus diambil jika ingin mendapatkan sesuatu. Pengetahuan inilah yang akan Anda dapatkan selama perkuliahan pada mata kuliah ini, yaitu bagaimana tahapan atau langkah-langkah untuk menyelesaikan suatu permasalahan.

Instruksi primitif dan tipe data

Seperti yang telah dideskripsikan sebelumnya, bahwa suatu pengetahuan imperatif, selanjutnya kita sebut dengan algoritma, merupakan suatu langkah-langkah untuk menyelesaikan sesuatu. Langkah-langkah tersebut dinamakan sebagai instruksi primitif, dimana suatu primitif bisa dibangun dari suatu kumpulan intruksi primitif sehingga instruksi primitif bersifat subjektif. Sebagai

INSTRUKSI PRIMITIF DAN TIPE DATA

contoh, pada resep masakan terdapat beberapa primitif seperti menumis, merajang, memixer, memanggang, dsb; tetapi fungsi primitif bisa berupa beberapa kumpulan primitif seperti bumbu yang dihaluskan yang berarti bumbu tersebut dicampur dan diuleg sampai halus (2 primitif ). Dalam bahasa pemrograman, primitif bisa bermacam-macam sesuai dengan library dan bahasa pemrograman yang digunakan. Sebagai contoh, dalam bahasa C mungkin pencarian akar merupakan instruksi primitif yang bisa digunakan, tetapi pada bahasa assembly tidak fungsi pencarian akar yang bisa digunakan sehingga Anda harus membuat sendiri fungsi tersebut. Pada perkuliahan kali ini, bahasa pemrograman yang digunakan adalah C. Bahasa pemrograman C mempunyai primtif yang sangat banyak, sebagai contoh: operasi arimatik (+ , -, *, /, %, >>, <<), mencetak di layar (printf ), dan menerima input (scanf ). Selain intruksi primitif, harus ada data yang diolah. Sebagai contoh dalam resep masakan, bahan apa saja yang digunakan atau alat apa saja yang digunakan dan sebagainya. Kesemuanya itu adalah data/bahan/alat yang akan diolah menjadi sesuatu. Dalam bahasa C (mulai sekarang kita akan selalu membahas tentang bahasa C), ada beberapa tipe data yang bisa digunakan dalam menyelesaikan suatu permasalahan. Berikut merupakan tabel tipe data yang ada C:

Table 1: Tipe data dalam C Type char / signed char unsigned char int / signed int unsigned int short int / signed short int unsigned short int long int / signed long int unsigned long int oat double long double Size (bit) 8 8 16 16 8 8 32 32 32 64 80 Range -128 s/d 127 0 s/d 255 -32768 s/d 32767 0 s/d 65535 -128 s/d 127 0 s/d 255 -2147483648 s/d 2147483647 0 s/d 4294967295 3.4 e-38 s/d 3.4 e+38 1.7e-308 s/d 1.7e+308 3.4 e-4932 s/d 3.4 e+4932

Lalu bagaimana mendeklarasikan atau mengisi suatu nilai dalam bahasa pemrograman C? Sebelum mulai memanipulasi data, kita berkenalan dulu dengan kode program dari bahasa C.

01| 02| 03| 04| 05| 06| 07| 08|

# include < stdio .h > int main ( int argc , char ** argv ) { printf (" Hello world ! \n" ); } return 0;

Kode program diatas merupakan kode program helloworld yang biasa digunakan untuk melakukan pengenalan terhadap bahasa pemrograman. Keluaran dari program tersebut adalah text Hello world! yang tercetak dilayar. Kode program bahasa C, terbagi menjadi dua bagian yaitu bagian header dan bagian kode. Pada bagian header, kita dapat mendeklarasikan library apa saja yang akan digunakan, mendenisikan konstanta yang diinginkan, dan mendenisikan alias dari sesuatu (fungsi, variabel, dsb). Dalam kode program diatas, header ada pada baris 01 dimana program tersebut menggunakan stdio.h (standar input output library) yang salah satu fungsinya digunakan untuk mencetak suatu variabel ke layar. Bagian kedua adalah kode dan setiap kode program selalu harus ada fungsi yang bernama main seperti yang terlihat pada baris 03 yang berfungsi sebagai fungsi utama dimana instruksi-instruksi primitif akan dilakukan.

INSTRUKSI PRIMITIF DAN TIPE DATA

Lalu bagaimana menggunakan suatu data? Dalam bahasa C, data yang digunakan disimpan pada variabel dan telah dijabarkan pada tabel 1. Variabel akan mempunyai sebuah nama dan untuk mempermudah Anda dalam melakukan pengecekan maka nama variabel diharapkan mempunyai arti yang cukup baik dan tidak membingungkan serta spesik untuk sesuatu. Penamaan variabel merupakan bagian dari gaya membuat program yang telah disinggung pada sub bab sebelumnya. Sebelum melanjutkan, perhatikan kode program berikut.

01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21|

# include < stdio .h > int main ( int argc , char ** argv ) { int var1 ; unsigned int var2 ; short int var3 ; float var4 ; double var5 ; var1 var2 var3 var4 var5 = = = = = -10; 45000; 244; 1e -10 f; 1.24 e250 ; // // // // // integer integer tanpa tanda integer 8 bit floating point double

printf (" Integer : %d / %u / %d\n", var1 , var2 , var3 ); printf (" Floting point : %f / %f\n", var4 , var5 ); } return 0;

Kode program diatas merupakan contoh kode untuk memberikan suatu variabel sebuah nilai sesuai dengan tipe yang telah dideklarasikan pada baris 05 sampai baris 09. Selain contoh kode untuk memberikan nilai kepada suatu variabel, kode program diatas juga memberikan contoh bagaimana mencetak nilai dari variabel tersebut ke layar. Untuk fungsi mencetak nilai ke layar, ada beberapa format seperti %d atau %f . Format tersebut berguna untuk memberitahu sistem tipe data dari variabel yang ingin dicetak. Untuk lebih jelas, Anda dapat melihat pada help dari Turbo C. Selain untuk menyimpan nilai tertentu, variabel-variabel yang digunakan dapat digunakan untuk melakukan proses aritmatik antara satu variabel dengan variabel lainnya atau dengan nilai tertentu dengan operator aritmatik yang telah disebutkan pada beberapa paragraf sebelumnya. contoh Anda dapat lihat pada kode program berikut. Sebagai

01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12| 13| 14| 15| 16| 17|

# include < stdio .h > int main ( int argc , char ** argv ) { int var1 , var2 ; float var3 , var4 ; var1 var2 var1 var2 = = = = 10 * 2; var1 / 2; (2 + 2) << 2; ( var1 - 14) % 2; // // // // hasilnya hasilnya hasilnya hasilnya 20 10 16 2

var3 = 1 e2 + 50; var4 = var3 / 3; } return 0;

// hasilnya 150 // hasilnya 50

LAMPIRAN (INPUT DARI KEYBOARD PADA BAHASA C)

Lampiran (Input dari keyboard pada bahasa C)

Pada sesi ini akan dijelaskan bagaimana mengambil suatu input dari keyboard ke dalam program untuk diolah. Input sangat penting sebagai parameter yang digunakan program untuk menyelesaikan suatu permasalahan. Untuk lebih jelasnya dapat kita lihat kode program berikut sebagai contoh bagaimana mengambil input dari keyboard.

01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 30| 31| 32| 33| 34| 35|

# include < stdio .h > # include < conio .h > int main ( int argc , char ** argv ) { int input1 ; float input2 ; char input3 [100]; // clear the screen clrscr (); // inputan integer printf (" Masukkan angka integer : "); scanf ("% d" , & input1 ); printf (" Angka yang dimasukkan : %d \n\n" , input1 ); fflush ( stdin ); // inputan float printf (" Masukkan angka float : "); scanf ("% f" , & input2 ); printf (" Angka yang dimasukkan : %f \n\n" , input2 ); fflush ( stdin ); // inputan string printf (" Masukkan suatu kata : "); gets ( input3 ); printf (" Kata yang dimasukkan : %s\ n\n", input3 ); fflush ( stdin ); // sebelum keluar harus tekan tombol di keyboard dulu getchar (); } return 0;

Pada kode program diatas, kita menggunakan fungsi gunakan pada fungsi

scanf(..)

dan

gets(..).

Fungsi

scanf(..)

merupakan fungsi untuk mengambil input dari keyboard dengan menggunakan format yang di-

printf(..)

(%s, %f , dsb), sedangkan fungsi adalah pada fungsi

mengambil inputan string yang panjang. Yang membedakan antara fungsi rameter %s dengan fungsi kata maka fungsi

gets(..) digunakan untuk scanf(..) dengan pa-

gets(..)

scanf(..)

tidak bisa menangani spasi

pada inputan sehingga jika user menginputkan kalimat dan menggunakan spasi sebagai pemisah

scanf(..)

hanya memproses kata yang paling depan saja sedangkan pada fungsi

gets(..)

tidak. Pada akhir kode program terdapat fungsi getchar() yang digunakan untuk mem-

pause program untuk melihat hasil keluaran. Fungsi utama dari fungsi yang mungkin tidak Anda kenali adalah

getchar()

adalah mengambil satu Satu

inputan dari keyboard (seluruh tombol kecuali tombol spesial seperti shift, crtl, dan alt).

fflush(stdin)

yang digunakan untuk mengosongkan

buer input sehingga tidak overlapping dengan pengambilan input berikutnya.