Minggu, 10 Agustus 2014

Pemrograman Mobile (Mobile Programming)


Pengertian Mobile Progamming
Mobile adalah perangkat yang bergerak, misalnya telepon seluler atau komputer bergerak yang digunakan untuk mengakses jasa jaringan. Jadi mobile programming adalah program yg di gunakan untuk perangkat mobile. Contoh mobile programing untuk ponsel :


  1. J2ME , ini rasanya paling umum dan paling banyak HP yang support teknologi ini, blackberry pun masih menggunakan J2ME dengan tambahan API.
  2. C++ dalam symbian framework, ini khusus untuk HP dengan OS symbian.
  3. Flash Lite, game flash di mobile. Playernya sendiri setau saya baru ada di nokia NSeries.
  4. Objective C (mirip C tapi beda struktur bahasa program ) , ini untuk iphone,dan hanya bisa didevelop via OS Macintosh.
  5. C++ dalam Brew framework, ini untuk HP CDMA.
  6. C# .NET, untuk HP dengan OS Windows mobile
  7. Javafx mobile, masih dikit yang support, mgkn baru HP Android
Emulator
Aplikasi yang memungkinkan sebuah software dari sebuah platform berjalan di atas platflorm lain. Emulator menjalankan kode-kode software pada virtual machine. Sehingga software tersebut mengira bahwa Ia sedang berjalan di atas platform aslinya.Sebagai contoh suatu program Windows dapat dijalankan di sistem operasi Linux dengan menggunakan piranti lunak emulator Wine. Ada pula program yang mengemulasikan suatu komputer dalam komputer, misalnya VMware. Contoh lain adalah program-program emulator untuk menjalankan permainan komputer yang awalnya hanya bisa dijalankan pada konsolnya masing-masing, misalnya Nintendo, Atari, PlayStation, XBox dan lain-lain.

WAP
Teknologi WAP (Wireless Aplication Protocol ) merupakan sebuah metode untuk menghadirkan halaman web di dalam layar Ponsel (Telepon Seluler). Dengan begitu, maka bentuk informasi dari sebuah instansi tidak hanya ditampilkan dengan metode Web yang hanya dapat di akses melalui Browser, akan tetapi dapat ditampilkan dalam bentuk WAP yang dapat dilihat dengan ponsel.

Dengan adanya dukungan GPRS dari pesawat Handphone, maka memungkinkan kita untuk mengakses semua informasi yang disajikan dalam internet dalam bentuk WAP.

WAP dapat dibuat dengan menggabungkan pemrograman WML (Wireless Markup Language)dengan pemrograman PHP sehingga dapat menghadirkan aplikasi WAP yang dinamis.

Pengertian WAP
WAP adalah suatu protokol aplikasi yang memungkinkan internet dapat diakses oleh ponsel dan perangkat wireless lainnya. Tujuan utamanya untuk membangun aplikasi yang dapat mengakses internet dari telepon genggam atau PDA. WAP membawa informasi secara online melewati internet langsung menuju ke ponsel atau klien WAP lainnya. Dengan adanya WAP pengguna dapat menggunakan ponselnya untuk mengakses Internet dan memperoleh fasilitas dari masing-masing telepon genggam. Dari sekedar membuka halaman situs untuk melihat informasi, seperti informasi berita atau kurs, cuaca, membuka e-mail, bahkan sampai melakukan transaksi keuangan.

Ada tiga bagian utama dalam akses WAP yaitu perangkat wireless yang mendukung WAP, WAP gateway sebagai perantara dan server sebagai sumber dokumen. Dokumen yang berada dalam web server dapat berupa dokumen HTML maupun WML. Dokumen WML khusus ditampilkan melalui browser dari perangkat WAP. Sedangkan dokumen HTML yang seharusnya ditampilkan melalui web browser , sebelum dibaca melalui browser WAP diterjemahkan terlebih dahulu oleh gateway agar dapat menyesuaikan dengan perangkat WAP.

Software untuk Belajar WAP
Dalam belajar pemrograman WAP dengan menggunakan WML, PHP dan MySQL maka software yang harus disiapkan adalah :
  1. Web Server (Apache, Appserv, Wamp, X Amp dll)
    Dalam hal ini akan digunakan Apache karena mudah serta banyak digunakan oleh pemula. Apache ini akan sangat berguna jika kita membuat program yang menggunakan database yaitu mysql. Untuk mengaktifkannya maka kita aktifkan apache dan pada direktori mysql/bin kita aktifkan winmysqladmin yang telah kita install.
  2. Web Browser ( Internet Explorer, Mozilla Firefox)
    Untuk mengecek apakah server berjalan dengan baik maka kita dapat mencoba menjalakannya pada IE dengan mengetikkan alamat http://localhost.
  3. Emulator WAP (M3Gate, Winwap)
    Emulator mempunyai fungsi yang sama dengan browser IE, Mozila, Opera dll.
    Dengan menggunakan emulator kita tidak harus mencoba program wap yang kita buat dengan handphone. Untuk belajar kita hanya cukup menggunakan browser berbentuk handphone (emulator) ini untuk menguji semua script WML yang telah kita buat. Contoh tampilan dari m3gate untuk skin Handy dan skin April.
Dasar Pemrograman WAP
WAP homepage sangat berbeda dengan HTML homepage. Bahasa markup dokumen pada WAP adalah WML (Wireless Markup Language). WML menggunakan tag – seperti HTML – tetapi tata penulisannya mengikuti aturan standar XML 1.0.

WML page memiliki ekstensi *.WML, seperti halnya halaman HTML yang memiliki ekstensi *.HTML. Walau secara umum beberapa perintah WML terlihat mirip dengan HTML. Namun terdapat perbedaaan dalam struktur penulisan dokumen WML. Jika sebuah dokumen HTML hanya terdiri atas dua bagian utama, yaitu header dan body, dokumen WML mempunyai header, template (optional), dan beberapa body yang disebut dengan cards. Susunan dokumen secara lengkap ini disebut dengan deck. Sama seperti halnya HTML, untuk menyususun dokumen WML diperlukan kode khusus yang dinamakan dengan tag.

WML page disebut dengan DECK. Mereka dibangun sebagai kumpulan CARD, yang mana dihubungkan antara satu dengan yang lain dengan link. Ketikan sebuah halaman WML diakses dari mobile phone, semua card di dalam halaman didownload dari WAP server. Navigasi antar card dilakukan dengan phone computer – komputer di dalam hand phone – tanpa meminta akses tambahan ke server.

Cara Menuliskan WML
Cara Menuliskan Program WML memang agak sedikit berbeda dengan HTML. Yang membedakan hanyalah pengenal bahwa script tersebut adalah program WML. Hal tersebut mirip dengan program HTML yang setiap kali menuliskan scriptnya harus menggunakan tag dan diakhiri dengan tag .

Begitu juga dengan WML untuk menuliskannya kita dapat memulainya dengan tag dan diakhiri dengan tag . Program WML ditulis kedalam versi XML, sehingga setiap kali menuliskan harus mendeklarasikan kedalam bentuk XML. Hal tersebut merupakan kewajiban, apabila tidak maka Emulator atau Hand Phone tidak dapat mengenalinya.


Sumber:
http://www.onestree.blogspot.com/2011/01/mobile-programming.html
http://timtechsolution.com/images/mobile_programming.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQDGJICuR32k3AlHUVZBGTxGbE6j7_SuBhGlOsScLw9jDodmuyBrK_FESkcVNV1IC89TPH4e4a0LyPuvBYZtxJQvOVLfk3LPO1n6aQrslO6EN2fb3sPlxEFgmhFUNyKxAcukiGnpAfe_hW/s1600/mobileprogramming.jpg

OOP (Object Oriented Programming)

Sejarah OOP
Sejarah perkembangan OOP dimulai pada tahun 1966 saat Ole Johan Dhal dan Kristen Nygaard dari universitas Olslo, norwegia menerbitkan sebuah jurnal kertas kerja dengan judul "SIMULA An Algol Based Language".

Pemrograman berorientasi objek (OOP) merupakan metode pemrograman dimana pengembang harus mendefiniskan tipe dari struktur data dan juga tipe dari operasi yang dapat di aplikasikan ke struktur data. dengan demikian struktur data menjadi objek yang dapat memilik data dan fungsi. beberapa kemampuan utama dari pemrograman OOP antara lain :

Pemrograman OOP menekankan pada data dari pada prosedur karena data diperlakukan sebagai elemen yang penting dan tidak boleh mengalir secara bebas dalam program.
  1. Data di sembunyikan dari akses program oleh fungsi-fungsi (function) eksternal.
  2. Program dapat dibagi-bagi kedalam objek-objek yang lebih kecil.
  3. Objek dapat berkomunikasi satu dengan yang lain melalui function.
  4. Data baru dan function dapat dengan mudah ditambahkan pada saat di butuhkan.
  5. Konsep pemrogramannya mengikuti pendekatan  buttom up.
Konsep OOP
OOP adalah pemrograman yang paling populer pada saat ini karena menjadikan objek sebagai komponen utama dalam suatu program. Objek ini menggabungkan data dan fungsi sebagai satu kesatuan, hal ini membedakan dengan pemrograman yang tidak berorientasi objek (terstruktur) dimana fungsilah yang menjadi perhatian utama. Fungsi adalah subprogram atau sekumpulan kode yang diberi suatu nama tersendiri. Java adalah salah satu dari bahasa pemrograman berorientasi objek, karena dalam pemrograman java kita dapat mengetahui dan membedakan. 

Dalam OOP mempunyai ciri-ciri dan beberapa konsep penting, seperti Object, Class, Method, Enkapsulasi, Inheritance, dan Polimorfisme.

Object
Object adalah elemen dasar dari konsep pemrograman, merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Setiap object memiliki dua karakteristik yang utama yaitu, atribut dan behavior. Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut.

Class
Class berbeda dengan object. Class merupakan prototipe, blue print, ataupun template dengan kata lain Class adalah representasi abstrak dari suatu objek, sedangkan objek adalah representasi nyata dari Class ataupun perwujudan (instance) dari suatu class. 
jika diilustrasikan hubungan antara class dan object seperti pada gambar dibawah ini :
suatu class dapat berisi property,field,method dan event dari suatu object, gabungan dari property,field,method dan event dari suatu object biasanya member dari class.

Method
Method adalah fungsi dan prosedur atau behavior dari suatu objek atau juga sebuah tindakan (implementasi) dari sebuah object . Contohnya pada Komputer  seperti cara memastikan, cara menghidupkan, cara menyimpan, menghapus data dan lain-lain.

Field
Adalah informasi atau atribut yang terdapat dalam suatu object. Bentuk field mirip dengan variabel yaitu dapat dibaca dan diset langsung.
Contoh: suatu class Anak yang memiliki field Nama_Anak dan usia anak, juga memiliki subrutin(method) kegiatan_Anak.

Interface
Interface atau diartikan dalam bahasa indonesianya adalah antarmuka, atau secara fungsi adalah alat untuk menghubungkan benda-benda lain secara langsung untuk dapat berinteraksi. Makna dalam bahasa pemrograman sendiri  interface dapat didefinisikan sebagai koleksi /kumpulan definisi metode-metode dan variabel-variabel konstan, namun tanpa implementasi. Implementasi akan dilakukan oleh kelas-kelas yang mengimplements interface ini. Tanpa implementasi di sini tidak seperti pada kelas abstrak yang merupakan metode-metode yang tidak melakukan apa-apa, melainkan hanya sekedar nama metode saja.

Sebuah kelas tidak dapat menjadi subkelas dari beberapa superkelas, melainkan hanya bisa menjadi subkelas dari satu superkelas saja. Hal ini membuat desain program lebih rapi dan teratur, sehingga dapat mengurangi kompleksitas program. Namun, terkadang hal ini dapat menjadi suatu kendala yang tidak menyenangkan, misalnya saat kita membutuhkan suatu kelas yang memiliki sifat-sifat dari dua atau lebih kelas lain. Nah disinalah fungsi interface itu dapat memberikan sebuah alternatif jalan keluar.

Tentunya dengan adanya interface maka beberapa kelas akan dapat menangani interaksi yang sama tapi dengan behaviour yang bisa berbeda. Contoh beberapa kelas mengimplementasi sebuah interface yang sama, maka kelas-kelas tersebut dapat menangani interaksi sesuai interface tersebut, namun tiap kelas dapat memiliki implementasi sendiri-sendiri.

Jika sebuah kelas mengimplementasi banyak interface, maka kelas tersebut akan dapat menangani interaksi-interaksi sesuai salah satu interface yang diimplement oleh kelas tersebut.tapi kelas tersebut harus mengimplementasi sendiri behaviournya. Inilah letak perbedaan penggunaan interface dengan multiple inheritance. Pada multiple inheritance, seperti single inheritance, subkelas tidak harus mengimplementasikan sendiri behaviournya karena secara default kelas tersebut akan mengikuti behaviour superkelasnya.

Inheritance
Pewarisan atau inheritance..adalah sebuah kelas mewarisi state dan behaviour dari kelas lain. Contohnya kelas komputerLapotop akan mewarisi state dan behaviour dari kelas komputer. Demikian juga dengan kelas komputerNetbook. Kelas komputerLaptop dan kelas komputerNetbook disebut subkelas, atau kelas anak, dari kelas komputer , yang disebut superkelas,atau kelas Induk. Kegunaan  konsep pewarisan antara lain :
  • Dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada.
  • Dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas.
Hal ini berguna jika kita ingin membuat prototype/template kelas. Kelas semacam ini disebut kelas abstraksi, karena behaviournya masih abstrak dan belum diimplementasikan. Subkelas-subkelas dari kelas semacam ini, yang disebut kelas konkret/nyata, mengimplementasikan behaviour abstrak tersebut sesuai dengan kegunaan masing-masing.


Encaptulation
Enkapsulasi secara definisi adalah mekanisme pembungkusan untuk menyembunyikan atau melindungi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem juga sekaligus menyederhanakan penggunaan system itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui seperangkat interface/antarmuka. Contohnya Komputer, pada saat  menyalakan, mematikan, pembacaan data, pemrosesan data maka pemakai/user  tidak perlu tahu detail dari bagaimana proses menyalakan dan mematikan, itu dilakukan oleh komputer, cukup tahu bagaimana cara menyalakan/mematikan komputer , keyboard, mouse, tombol power merupakan interface (antar muka) pemakai dengan sistem komputer tersebut.

Polymorphism
Polymorphism  sebuah kata dari bahasa Yunani yang mempunyai arti banyak bentuk., konsep ini dimungkinkan untuk menggunakan suatu interface yang sama agar suatu objek melakukan aksi atau tindakan yang mungkin secara prinsip sama tapi secara proses bisa berbeda-beda. Pada umumnya konsep ini sering kali disebut dalam istilah satu interface banyak aksi. Contoh yang nyata adalah. komputer yang ada dipasaran terdiri atas berbagai tipe dan merk, namun semuanya memiliki interface yang sama, seperti: tombol power,  keyboard, mouse,  monitor dlsb,. Jika seseorang dapat  mengoperasikan komputer satu jenis saja dari merk tertentu, maka orang itu akan dapat mengoperasikan hampir seluruh jenis komputer yang ada, karena semua komputer tersebut menggunakan interface yang sama. Perlu diketahui disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Misal kecepatan/speed komputer, kapasitas memory penyimpan, jika dibandingkan komputer 1 dan komputer 2 maka kecepatan komputer  berbeda.

Perbedaan Object Oriented Programming (OOP) dengan Procedural Programmming (PP)
  1. Pemrograman Prosedural Fungsi dan data menjadi satu kesatuan yang disebut obyek sedangkan Pemrograman Prosedural Diselesaikan dalam bentuk prosedur atau fungsi.
  2. Pemrograman Prosedural Obyek-obyek dalam OOP bersifat aktif sedangkan Pemrograman Prosedural Program merupakan urut-urutan Instruksi.
  3. Pemrograman Prosedural Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah sedangkan Pemrograman Prosedural Program dipecah-pecah ke dalam sub program yang lebih sederhana,
  4. Pemrograman Prosedural Fungsi dan prosedur digunakan untuk memanipulasi data.
  5. Pemrograman Prosedural Sedangkan data sendiri bersifat pasif.
Kesimpulan Perbedaan antara OOP dan PP
  • OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.
  • PP : Fokus pada bagaimana cara komputer menangani masalah.
Keunggulan menggunakan pemrograman OOP dengan Prosedural Progamming
  • Maintenability : Kemampuan untuk mudah dikelola. Maksudnya jika terjadi kesalahan pada program yang besar maka solusinya adalah memecah program tersebut menjadi modul-modul kecil (modularitas). Modularitas melekat pada OOP karena kelas-kelas yang ada merupakan suatu modul sehingga kelas-kelas yang mempunyai fungsi sama akan disimpan pada namespace yang sama pula.
  • Extensibility : Kemampuan dapat di perluas, yaitu Class-class yang ada dapat diperluas dengan menambahkan method atau data, atau mengubah prilaku dari method.
  • Reusibility : Kemampuan untuk dapat dipergunakan kembali bagi mereka yang memerlukan fungionalitas yang sama yang disediakan oleh kode.
Sumber :

Bahasa Pemrograman (Programming Language)


Pengertian Bahasa Pemrograman
Bahasa pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar mempunyai fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Fungsi Bahasa Pemrograman
Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya, dll.

Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game, antivirus, web, dan teknologi lainnya.

Bahasa pemrograman komputer yang kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.

Namun,secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
  1. Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
  2. High Level Language (seperti Pascal dan Basic)
  3. Middle Level Language (seperti bahasa C), dan
  4. Low Level Language (seperti bahasa Assembly)

Pengertian Compiler
Compiler adalah suatu program yang menerjemahkan bahasa program ( source code) kedalam bahasa objek (obyek code). Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.

Komplier memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat independen. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.

Tahap Kompilasi:
Pertama source code (program yang ditulis) dibaca ke memori computer).
Source code tersebut diubah menjadi objek code (bahasa Assembly).
Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.

Pengertian Interpreter
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut.

Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi.

Interpreter atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa berbeda dengan Translator atau penterjemah dalam segi media yang dipakai untuk menerjemahkan. Interpreter akan menterjemahkan bahasa sumber ke dalam bahasa sasaran secara langsung atau orally sementara translator akan menerjemahkan bahasa sumber ke bahasa sasaran secara tertulis.

Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

Pengertian Assambler
Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek.

Pengertian Linker
Linker adalah suatu program yang menterjemahkanprogram objek (bereksention OBJ) ke bentukprogram eksekusi (berekstension EXE atau COM).Sedangkan untuk membuat file object ke bentuk fileyang dapat dieksekusi(berekstension.COM atau.EXE) bisa anda gunakan file TLINK.EXE.

Tingkat Bahasa Pemrograman

  1. Bahasa Tingkat Tinggi
    Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya bahasa Basic, Visual Basic, Pascal, Java dan lainnya.
  2. Bahasa Tingkat Menengah
    Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya bahasa C.
  3. Bahasa Tingkat Rendah
    Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly.
Bahasa Pemrograman Tingkat Tinggi
Bahasa pemrograman tingkat tinggi adalah sebuah bahasa pemrograman yang jika dibandingkan dengan bahasa pemrograman tingkat rendah memiliki sifat lebih mudah digunakan, lebih portabel (mudah diadaptasikan) antar-platform, dan lebih abstrak. Bahasa-bahasa semacam ini sering melakukan abstraksi terhadap beberapa operasi CPU, seperti halnya pengaksesan memori.

Fitur Bahasa Pemrograman
Istilah "bahasa pemrograman tingkat tinggi" tidak serta merta menjadikan bahasa tersebut lebih baik dibandingkan dengan bahasa pemrograman tingkat rendah. Akan tetapi, maksud dari "tingkat tinggi" di sini merujuk kepada abstraksi yang lebih tinggi dibandingkan dengan bahasa tingkat rendah terhadap bahasa mesin. Dibandingkan dengan harus berurusan dengan register, alamat memori dan stack-stack panggilan, bahasa pemrograman tingkat tinggi akan berurusan dengan variabel, larik, dan ekspresi aritmetika atau aljabar Boolean. Selain itu, tidak seperti bahasa rakitan, bahasa tingkat tinggi tidak memiliki opcode atau kode operasi yang dapat secara langsung menjadikan bahasa tersebut menjadi kode mesin. Fitur lainnya seperti rutin-rutin penanganan string, fitur pemrograman berorientasi objek, input/output terhadap berkas juga terdapat di dalam jenis bahasa ini.

Secara umum, bahasa tingkat tinggi akan membuat pemrograman komputer yang kompleks menjadi lebih sederhana, sementara bahasa tingkat rendah cenderung untuk membuat kode yang lebih efisien. Dalam sebuah bahasa tingkat tinggi, elemen-elemen kompleks dapat dipecah ke dalam beberapa elemen yang lebih sederhana, meski masih dapat dianggap kompleks, di mana bahasa tersebut menyediakan abstraksi. Karena alasan ini, kode-kode yang harus berjalan dengan efisien dapat ditulis dalam bahasa pemrograman tingkat rendah, sementara bahasa tingkat tinggi digunakan untuk mempermudah pemrograman.

Akan tetapi, dengan bertambah rumitnya arsitektur mikroprosesor modern, kompilator-kompilator bahasa pemrograman tingkat tinggi dapat membuat kode yang lebih efisien dibandingkan dengan para programmer bahasa pemrograman tingkat rendah yang melakukannya secara manual.

Perlu dicatat bahwa istilah "tingkat tinggi" dan "tingkat rendah" adalah relatif. Pada awalnya, bahasa rakitan dianggap sebagai bahasa tingkat rendah, sementara COBOL, C, dan lain-lainnya dianggap sebagai bahasa tingkat tinggi, mengingat mereka mengizinkan abstraksi terhadap fungsi, variabel, dan evaluasi ekspresi. Akan tetapi, banyak programmer saat ini mungkin menganggap bahasa C sebagai bahasa pemrograman tingkat rendah, mengingat bahasa pemrograman tersebut mengizinkan akses memori secara langsung dengan menggunakan alamatnya, dan juga dapat menggunakan beberapa direktif bahasa rakitan.

Bahasa Pemrograman Tingkat Rendah
Bahasa tingkat rendah (Low Level Language)
Bahasa tingkat rendah merupakan bahasa pemrograman yang berorientasi pada mesin. Disebut tingkat rendah karena bahasa ini lebih dekat ke bahasa mesin daripada bahasa manusia. Yang tergolong dalam bahasa tingkat rendah adalah bahasa assembly.
Kelemahan bahasa tingkat rendah antara lain :
  • Sulit dipelajari karena programmer harus mengetahui seluk beluk perangkat keras yang digunakan.
  • Bahasa assembly untuk satu jenis mikroprosesor satu dengan yang lain sangat jauh berbeda karena belum ada standardisasi. Contoh : bahasa assembly untuk mikroprosesor Intel 8088 dengan bahasa assembly untuk mikroprosesor Z-80 sangat jauh berbeda.
  • Fungsi-fungsi yang tersedia sangat terbatas, misalnya tidak ada fasilitas untuk pemrograman grafik, fungsi-fungsi numerik & string, dll.
Selain memiliki kelemahan seperti tersebut di atas, bahasa assembly memiliki beberapa kelebihan yang tidak dimiliki oleh bahasa lain yaitu :
  • Kecepatan eksekusi dari program yang ditulis dengan bahasa assembly sangat tinggi, paling cepat dibanding dengan program-program yang dibuat menggunakan bahasa yang lain.
  • Executable file yang dihasilkan oleh bahasa assembly ukurannya paling kecil. Buktinya : hampir semua program virus yang banyak beredar adalah dibuat dengan menggunakan bahasa assembly karena ukurannya paling kecil, sehingga kehadiran virus tersebut menjadi lebih sulit terdeteksi.


Sumber:
Diberdayakan oleh Blogger.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews