• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

Membagikan "C / C++ / JAVA / C# / Python?"

Copied!
6
0
0

Teks penuh

(1)

C / C++, Python, 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 men-erjemahkan 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 in-trepeted 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 terse-but, 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.

(2)

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 kom-putasi, 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.

1 Apa itu komputasi ?

Sebagaian dari Anda mungkin akan bertanya: mengapa kita perlu belajar pemrograman. Tapi yakinlah bahwa seluruh bidang studi yang ada di Teknik Elektro ini membutuhkan skill untuk memrogram, minimal Anda mengerti tentang bagaimana cara membuat suatu algoritma kom-putasi. Lalu pertanyaan berikutnya adalah apa itu komkom-putasi. 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. y2= x, y ≥ 0

Pernyataan diatas merupakan pernyataan pengetahuan deklaratif yang membuat aturan-aturan untuk teori tertentu. Pada kasus √x = y, penyataan diatas tidak menjabarkan bagaimana men-dapatkan nilai y 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 re-sep masakan. Pada rere-sep 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 langkah-langkah 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.

2 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 diban-gun dari suatu kumpulan intruksi primitif sehingga instruksi primitif bersifat subjektif. Sebagai

(3)

contoh, pada resep masakan terdapat beberapa primitif seperti menumis, merajang, memixer, me-manggang, 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 python mungkin pencarian akar merupakan instruksi primitif yang bisa digunakan, tetapi pada bahasa assembly tidak fungsi pen-carian akar yang bisa digunakan sehingga Anda harus membuat sendiri fungsi tersebut. Pada perkuliahan kali ini, bahasa pemrograman yang digunakan adalah python. Bahasa pemrograman python mempunyai primtif yang sangat banyak, sebagai contoh: operasi arimatik (+ , -, *, **, /, %, >>, <<), mencetak di layar (print), dan menerima input (input / raw_input).

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 python (mulai sekarang kita akan selalu membahas tentang bahasa python), ada beberapa tipe data yang bisa digunakan dalam menyelesaikan suatu permasalahan. Lalu bagaimana mendeklarasikan atau mengisi suatu nilai dalam bahasa pemrograman python? Sebelum mulai memanipulasi data, kita berkenalan dulu dengan kode program dari bahasa python.

01|

02| print " Helo World !" 03|

Anda dapat menjalankan potongan teks diatas pada interaktif python shell atau Anda dapat membuat suatu le berekstensi .py dan mengeksekusinya. Perlu diingat bahwa python adalah sebuah intrepreter yang menterjemahkan instruksi yang diberikan secara real-time dan dilakukan per baris dari instruksi. Konsekuensi yang didapatkan adalah jika terdapat kesalahan simantik yang terjadi pada tengah-tengah program, maka intrepreter akan menghentikan eksekusi yang berlangsung dan menampilkan pesan kesalahan sesuai dengan kesalahan yang terjadi.

2.1 Variabel

Variabel merupakan salah satu komponen yang sangat penting dalam komputasi. Variabel meru-pakan suatu alamat memori yang dapat digunakan untuk menyimpan suatu tipe data tertentu yang didukung oleh bahasa pemrograman yang digunakan. Variabel dideklarasikan dengan meng-gunakan suatu nama tertentu dengan aturan: (1) semua karakter yang dimeng-gunakan adalah a-z, A-Z, 0-9, dan _; (2) selalu diawali dengan karakter huruf; (3) mempunyai tipe data tertentu sesuai dengan deklarasi yang dilakukan.

Pada python, terdapat tiga tipe data yaitu tipe data numerik, tipe data non-numerik, dan tipe data khusus. Ketiga tipe data tersebut dapat digunakan bersama variabel untuk melakukan komputasi. Perlu diingat, pada python semua variabel bersifat dinamik yaitu tipe data yang ada dalam variabel tersebut dapat berubah langsung sesuai dengan data yang diberikan.

Tipe Data Numerik

Tipe data numerik terdiri dari integer, long integer, dan oat. Integer merupakan tipe data yang merepresentasi suatu bilangan bulat bertanda dari −231+ 1 sampai dengan 231− 1dan jika

mendeklarasikan bilangan bulat yang lebih besar dari range tersebut, maka python akan langsung mengubah bilangan tersebut menjadi bilangan dengan tipe long integer. Tipe data long integer tidak mempunyai batas maksimal sehingga Anda bisa mendeklarasikan bilangan dengan angka yang sangat besar sekalipun.

(4)

Tipe data oat merupakan tipe data yang dapat merepresentasikan bilangan yang tidak bulat (ter-dapat koma) dengan presisi tertentu. Tipe data oat merupakan tipe data yang banyak digunakan untuk perhitungan-perhitungan ilmiah dan mempunyai standar cara merepresentasikannya dalam memori, operasi yang dapat dilakukan, dan asumsi-asumsi yang diambil.

Ketiga tipe data tersebut dapat dimanipulasi dengan menggunakan seluruh operator logika dan aritmatik. Operator logika akan dijelaskan lebih lanjut, sedangkan operator aritmatik adalah pen-jumlahan, pengurangan, perkalian, pembagian, pangkat, modulus, dan shift bit. Khusus untuk operasi shift, Anda mungkin belum pernah mendengar dan tidak mengetahui fungsinya. Operator shift bit (<< dan >>) adalah operator yang memipulasi bit (bilangan basis dua yang digunakan oleh komputer dalam melakukan operasi) dengan menggeser bit tersebut ke kanan atau ke kiri sesuai dengan arah dari tanda operator tersebut. Contoh penggunaan dari ketiga tipe data nu-merilk dapat dilihat pada command berikut.

>>> # Deklarasi integer >>> a = 10 >>> a 10 >>> type (a) <type 'int '> >>> # Deklarasi float >>> a = 10.5 >>> a 10.5 >>> type (a) <type 'float '>

>>> # Deklarasi long integer >>> a = 2*1024 >>> a 17976931348623159077293051907890247336179769789423065727343008115773267580550096313 27084773224075360211201138798713933576587897688144166224928474306394741243777678934 24865485276302219601246094119453082952085005768838150682342462881473913110540827237 163350510684586298239947245938479716304835356329624224137216 L >>> type (a) <type 'long '> >>> # Manipulasi data >>> a = (10 + 5) / 3 >>> a 5 >>> a = 10 >> 1 >>> a 5

Tipe Data Non-Numerik

String dan boolean merupakan tipe data yang bersifat numerik. Meskipun bersifat non-numerik, tetapi kedua tipe data tersebut dalam beberapa hal dapat menggunakan fungsi numerik dalam melakukan manipulasi datanya.

String merupakan tipe data yang merepresentasikan suatu array dari huruf yang membentuk suatu kalimat tertentu. Tipe data string biasa digunakan untuk mengambil data input, menulis data output, dan proses debugging. Proses debugging adalah proses dimana Anda mencari kesalahan, terutama kesalahan simantik, pada program dengan mengeksekusi program secara per baris. Tipe data string dapat dideklarasikan dengan menggunakan tanda petik satu atau petik dua sesuai dengan selera.

Tipe data yang lain yaitu boolean adalah tipe data yang merepresentasikan suatu nilai logika dan kemungkinan nilainya hanya dua yaitu True dan False. Boolean dapat digunakan sebagai tanda pada suatu eksekusi yang membutuhkan banyak state dalam komputasinya.

(5)

Operator yang dapat digunakan untuk memanipulasi kedua tipe data tersebut adalah seluruh operator aritmatik untuk tipe data boolean dan operator +, * untuk tipe data string. Pada tipe data boolean, jika dimanipulasi dengan menggunakan operator aritmatik maka python akan menganggap bahwa True sama dengan 1 dan False itu sama dengan 0. Contoh penggunaan dari kedua tipe data tersebut adalah sebagai beikut.

>>> # Deklarasi string >>> a = " Ini string " >>> a

'Ini string '

>>> # Deklarasi string yang panjang >>> a = """ Test ini string

yang dapat berpindah baris sendiri """ >>> a

'Test ini string \ nyang dapat berpindah baris sendiri ' >>> type (a) <type 'str '> >>> # Deklarasi boolean >>> a = True >>> a True >>> type (a) <type 'bool '> >>> # Manipulasi variabel >>> a = " Ulang " * 3 >>> a ' UlangUlangUlang ' >>> a = " Ulang " + " Terus " >>> a ' UlangTerus ' >>> a = True * 3 >>> a 3 >>>

Tipe Data Khusus

Tipe data khusus dan merupakan keunggulan dari bahasa pemrograman python adalah list dan tuple. List merupakan kumpulan data (tipenya dapat berupa apa saja dan dapat dicampur sesuai dengan kebutuhan) yang berurutan dan direpresentasikan dengan angka index. Dalam beberapa bahasa pemrograman yang lain, list biasanya disebut dengan array. List khusus yang menyimpan kumpulan karakter merupakan tipe data string yang telah dijelaskan pada pembahasan sebelum-nya. Semua data yang tersimpan dalam list dapat diubah sesuai dengan kebutuhan. Untuk men-gakses data yang terdapat dalam list, digunakan sintaknama_list[index]dengan nama_list adalah

nama variabel list yang digunakan danindexmerupakan angka index yang merupakan representasi

dari data pada list.

Tuple merupakan tipe data yang sama dengan list tetapi data yang ada pada tipe data tuple tidak dapat diubah. Meskipun data yang ada dalam tuple tidak dapat diubah tetapi dapat dilakukan operasi tertentu pada dua buah tuple.

(6)

>>> # Deklarasi list >>> a = [10 , 20, 30, 40] >>> a [10 , 20, 30, 40] >>> a [0] 10

>>> # List dengan elemen string >>> a = [" kuda ", " zebra ", " kijang "] >>> a

['kuda ', 'zebra ', 'kijang '] >>> a [2]

'kijang '

>>> # List dengan elemen campuran >>> a = [" hello ", 2.0 , 5, [10 , 20]] >>> a ['hello ', 2.0 , 5, [10 , 20]] >>> a [3] [10 , 20] >>> # Tuple >>> a = (10 , 20, 30, 40, 50) >>> a [4] 50 >>> b, c = a [0:1] >>> b 10 >>> c 20 >>>

A Mengambil Input Dari Keyboard

Pada lampiran ini, akan diberikan contoh bagaimana mengambil inputan dari keyboard. Ada dua perintah yang dapat digunakan adalahinput(...) dan raw_input(...). Kedua perintah terse-but akan menghasilkan data yang berbeda, untuk perintah input(...) hanya digunakan untuk

mengambil inputan numerik saja sedangkan untuk mengambil inputan string dan numerik maka dapat digunakan perintah raw_input(...). Pada dokumentasi python disarankan untuk memakai

perintahraw_input(...) daripada menggunakan perintahinput(...) dan untuk meminimalisasi

er-ror yang terjadi, diharapkan Anda juga menggunakan perintahraw_input(...). Berikut contoh dari

penggunaan perintahraw_input(...) daninput(...).

>>> # Perintah input >>> a = input (" Input = ") Input = 123 >>> a 123 >>> a = input (" Input = ") Input = Test

Traceback ( most recent call last ):

File "<pyshell #18 >", line 1, in <module > a = input (" str = ")

File "<string >", line 1, in <module > NameError : name 'Test ' is not defined >>>

>>> # Perintah raw_input >>> a = raw_input (" Input = ") Input = Test 123 dan 456 >>> a

'Test 123 dan 456 ' >>>

Referensi

Dokumen terkait

Melihat pengembangan di Kabupaten Takalar, Bantaeng, dan Bulukumba, maka perlu diadakan penelitian mengenai dampak pengembangan kapas transgenik terhadap serapan

Untuk poin yang kedua dalam kepemimpinan dalam keluarga pastinya dalam sebuah hubungan menginginkan keluarga tersebut harmonis sejahtera aman dan damai oleh sebab

Berdasarkan analisis kurikulum hasil penelitian tentang pertumbuhan Typha angustifolia akibat pendedahan limbah cair pabrik kelapa sawit dijadikan sebagai salah satu

Selain itu, diharapkan hasil penelitian ini juga dapat menjadi bahan pembelajaran dan pertimbangan bagi perusahaan lain yang ingin menggunakan strategi brand

Berdasarkan hasil penelitian yang dilakukan oleh peneliti mengenai hubungan antara aktifitas fisik dengan kejadian hipertensi di Wilayah Kerja Puskesmas Bonegunu diperoleh

Kontraktor harus menawarkan seluruh lingkup pekerjaan yang dijelaskan baik dalam spesifikasi teknis ini ataupun yang tertera dalam gambar-gambar perencanaan,

Ikterus/jaundice adalah Penimbunan pigmen empedu dalam tubuh yang menyebabkan warna kuning pada jaringan yang disebabkan oleh kelebihan kadar bilirubin di dalam plasma dan

(1) Pelaksanaan upaya Peningkatan Mutu Pelayanan Kesehatan sebagaimana dimaksud dalam Pasal 6 menjadi tanggung jawab pemerintah Kota bekerjasama dengan organisasi