1.pemrograman dasar


3.1 menerapkan algortma pemograman kom

       1.1 Algortima dan pemrograman Dasar

Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria dengan nama Muhammad bin Musa al-Khwarizmi. Bagi kalian yang sedang berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa orang di samping ini. Dia adalah seorang ilmuwan Islam yang karya karyanya dalam bidang matematika, astronomi, astrologi dan geografi banyak menjadi dasar perkembangan ilmu modern. Dan dari namanya istilah  yang  akan  kita pelajari dalam bab  ini  muncul.  Dari Al-Khawarizmi kemudian   berubah  menjadi  algorithm  dalam Bahasa  Inggris  dan diterjemahkan menjadi
algoritma dalam bahasa Indonesia.


1.2 Definisi Algortima

1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang  disusun secara sistematis.

Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.

1.3 Struktur Algortima

Perhatikan algoritma sederhana berikut :
Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
1. Menyiapkan Peralatan Tulis
2. Menulis surat
3. Surat dimasukkan ke dalam amplop tertutup
4. Amplop ditempeli perangko secukupnya.
5. Pergi ke Kantor Pos terdekat untuk mengirimkannya

Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P)
2. Masukkan lebar (L)
3. Luas P * L
4. Tulis Luas

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

a)  Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya      penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
b) Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
c)  Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.


Perhatikan algoritma sederhana berikut : Algoritma menghitung luas segitiga
1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop

Penjelasan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali.
Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.

Hasil perbaikan algoritma perhitungan luas segitiga
1. Start
2. Baca data alas dan tinggi.
3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4. Luas adalah alas kali tinggi kali 0.5
5. Tampilkan Luas
6. Stop

Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

Contoh : Algoritma Berangkat Sekolah
Mulai

          Bangun dari tempat tidur 
          Mandi Pagi
          Sarapan Pagi 
          Pergi Ke Sekolah
          Cari Ruang Kelas
          Masuk kelas untuk Belajar
Selesai


Beda Algoritma dan Program ?
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakanbahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

Program = Algoritma + Bahasa (Struktur Data)

Penerjemah Bahasa Pemrograman
Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan
interpreter.

Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek (object code) secara keseluruhan program.

Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat pembuatan program berskala besar.


1.4 Jenis-Jenis Bahasa Pemrograman
Bahasa Pemrograman Tingkat rendah (Bahasa mesin, Biner)
Bahasa Pemrograman Tingkat tinggi

Contoh-contoh Bahasa Pemrograman yang ada :
1. Prosedural : Algol, Pascal, Fortran, Basic, Cobol, C
2. Fungsional : LOGO, APL, LISP
3. Deklaratif : Prolog
Object oriented murni: Smalltalk, Eifel, Java, PHP

Cara penulisan algortima

Ada tiga cara penulisan algoritma, yaitu :

1. Structured English (SE)
SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI).

”SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak”

2. Pseudocode
Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC,

FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan.
“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program”
Contoh Pseudocode :
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop

Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

1.5 Membuat Alur Logika Pemograman

A. Penyajian atau Penulisan Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode.

Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, yaitu dengan Flowchart

B. Flowchart (Diagram Alir)
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.
Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi-notasi tertentu. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian- bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:
1) Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.

3) Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman:







C. Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
  1. Struktur Runtunan / Beruntun : Digunakan untuk program yang pernyataannya sequential atau             urutan.
  2. Struktur Pemilihan / Percabangan : Digunakan untuk program yang menggunakan pemilihan atau       penyeleksian kondisi.
  3. Struktur Perulangan : Digunakan untuk program yang pernyataannya akan dieksekusi berulang-         ulang.

1. Struktur Algoritma Runtunan / Berurutan :

Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan (sequencing), struktur pemilihan/keputusan/percabangan (branching) dan struktur pengulangan (looping). Sebuah algoritma biasanya akan menggabungkan ketiga buah struktur ini untuk menyelesaikan masalah.

Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada Gambar disamping Mobil tersebut akan melewati kilometer demi kilometer jalan sampai tujuan tercapai. Struktur berurutan terdiri satu atau lebih instruksi.

Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi. Urutan instruksi menentukan keadaan akhir dari algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah.

Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuan-ketentuan sebagai berikut:
  • Tiap instruksi dikerjakan satu persatu
  • Tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang
  • Urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis        di dalam algoritmanya
  • Akhir dari instruksi terakhir merupakan akhir algoritma.

Contoh bagan alir logika program berurutan (sequencing)
 


1. Struktur Algoritma Percabangan

Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan. Hal ini seperti halnya ketika mobil/motor berada dalam persimpangan

Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu kondisi yang disyaratkan dipenuhi. Pada proses seperti ini simbol flowchart Decision harus digunakan. Simbol decision akan berisi pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian akan menentukan cabang mana yang akan ditempuh.

Contoh Struktur percabangan untuk masalah batasan umur.
Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton. Buatlah flowchart untuk permasalahan tersebut.

Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur percabangan. Hal ini ditandai dengan adanya pernyataan jika ..maka ...(atau If ... Then dalam Bahasa Inggris.

Bagan alir logika (Flowchart) penyelesaian masalah nonton film


2. Struktur Algoritma Perulangan / Pengulangan

Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang berkali.Salah satu contoh yang gampang kita jumpai adalah balapan mobil

Struktur pengulangan terdiri dari dua bagian :
  • Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat       ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau       salah (false)
  • Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang

Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi.                   Inisialisasiadalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian       insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable.  Sedangkan terminasi       adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan. Ada beberapa bentuk         pengulangan yang dapat digunakan, masing-masing dengan syarat dan karakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada bentuk yang hanya cocok untuk kasus tertentu saja.
Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran algoritma. Pemilihan bentuk pengulangan yang tepat bergantung pada masalah yang akan diprogram.

Bagan alir logika (flowchart) untuk mencetak pernyataan sebanyak 100 kali


Bagan alir logika (Flowchart) untuk mencetak anggota suatu himpunan.


Struktur pengulangan dengan For

      Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini menggunakan sebuah variable yang biasa disebut sebagai loop s counter, yang nilainya akan naik atau turun selama proses pengulangan.

Contoh :
Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5, .., 19. Buatlah flowchart untuk mencetak anggota himpunan tersebut.

Penyelesaian:
Pada contoh ini, kita mencoba menentukan hasil dari sebuah flowchart . Bagaimana menurut kalian jawabannya? Marilah kita uraikan jalannya fowchart tersebut. Pada flowchart, setelah Start, kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut inisialisasi . Kita memberi nilai awal untuk A = 1. Variabel counter-nya adalah X dengan nilai awal 1 dan nilai akhir 10, tanpa increment (atau secara default increment-nya adalah 1). Ketika masuk ke badan loop untuk pertama kali maka akan dicetak langsung nilai variabel A. Nilai variabel A masih sama dengan 1. Kemudian proses berikutnya adalah pernyataan A = A + 2. Pernyataan ini mungkin agak aneh, tapi ini adalah sesuatu yang pemrograman. Arti dari pernyataan ini adalah gantilah nilai A yang lama dengan hasil penjumlah nilai A lama ditambah 2. Sehingga A akan bernilai 3. Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini nilai A adalah 3, sehingga yang tercetak oleh perintah print adalah 3. Baru kemudian nilai A kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian seterusnya. Sehingga output dari flowchart ini adalah 1,3, 5, 7, .., 19.



Struktur pengulangan dengan While

          Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti karena nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan dengan While merupakan jawaban dari permasalahan ini. Seperti halnya For, struktur pengulangan dengan While juga merupakan struktur yang didukung oleh hampir semua bahasa pemrograman namun dengan sintaks yang berbeda.
Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang.
Penyelesaian: Perhatikan Gambar. bisakah kalian menentukan hasil dari flowchart tersebut? Perhatikan tahapan eksekusi flowchart berikut ini.

Pada flowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A adalah variabel counter.
Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (<b10). Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A= 1.
Jalankan perintah Print B.
Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3).
Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10.

 3,2 Perangkat Lunak Bahasa Pemrograman


Perangkat Lunak Bahasa pemrograman adalah software bahasa komputer yang digunakan dengan cara merancang atau membuat program sesuai dengan struktur dan metode yang dimiliki oleh bahasa program itu sendiri. Komputer mengerjakan transformasi data berdasarkan kumpulan printah program yang telah dibuat oleh program. Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur terntentu (syntax), dan bermakna. Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program komputer. Berbeda dengan bahasa, misalkan Bahasa Indonesia dan Inggris yang merupakan bahasa alamiah (natural language), sintaksis dan semantik bahasa pemrograman komputer ditentukan secara jelas dan terstruktur, sehingg bahasa pemrograman juga disebut sebagai bahasa formal (formal language). Jadi dengan kata lain seperti translator ke bahasa mesin.
Menurut tingkatannya, bahasa pemrograman dibagi menjadi 3 tingkatan, yaitu:
  • Bahasa pemrograman tingkat rendah (low level language), merupakan bahasa pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah pembuatnya saja karena isinya programnya berupa kode-kode mesin.
  • Bahasa pemrograman tingkat menengah (middle level language), merupakan bahasa pemrograman dimana pengguna instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatan-singkatan seperti “STO” artinya simpan (STORE) dan “MOV” artinya pindahkan (MOVE). Yang tergolong dalam bahasa ini adalah assembler.
  • Bahasa pemrograman tingkat tinggi (high level language) merupakan bahasa yang mempunyai ciri lebih terstruktur, mudah dimengerti karena menggunakan bahasa sehari-hari, contoh bahasa level ini adalah: Delphi, Pascal, ORACLE, MS-SQL, Perl, Phyton, Basic, Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java, PHP, ASP, XML, dan lain-lain. Bahasa seperti Java, PHP, ASP, XML biasanya digunakan untuk pemrograman pada internet, dan masih banyak lagi yang terus berkembang yang saat ini biasanya dengan ekstensi .net (baca: dot net) seperti Visual Basic.NET dan Delphi.Net yang merupakan bahasa pemrograman yang dikembangkan pada aran berbasis internet
Sejauh ini bahasa pemrograman dikelompokkan menjadi lima generasi. Setiap generasi bahasa pemrograman memiliki karakteristik tersendiri. Semakin maju generasinya maka orientasi bahasa pemrograman ini akan semakin dekat ke manusia.
Gambar di atas menunjukkan terjadinya kecenderungan pergeseran orientasi dalam bahasa-bahasa pemrograman, dari pendekatan yang berorientasi kepada mesin menuju ke pendekatan yang berorientasi pada manusia.

Bahasa Pemrograman Generasi I

Bahasa pemrograman generasi pertama berorientasi pada mesin. Program disusun dengan menggunakan bahasa mesin. Tentu saja program generasi ini sangat sulit untuk dipahami oleh orang awam dan sangat membosankan bagi pemrogram. Pemrogram harus benar-benar menguasai operasi komputer secara teknis. Namun bahasa generasi ini memberikan eksekusi program yang sangat cepat. Selain itu, bahasa mesin sangat bergantung pada mesin (machine dependent), artinya, bahasa mesin antara satu mesin dengan mesin lainnya akan berbeda.
Kode dalam Bahasa MesinKode dalam Bahasa Mesin

Bahasa Pemrograman Generasi II

Bahasa pemrograman generasi kedua menggunakan bahasa rakitan (assembly). Sebagai pengganti kode-kode biner, digunakanlah kependekan dari kata-kata. Misalkan “MOV” untuk menyatakan “MOVE” dan JNZ yang berarti “jump non-zero”. Setiap instruksi dalam bahasa rakitan sebenarnya identik dengan satu instruksi dalam bahasa mesin. Bahasa ini sedikit lebih mudah dipahami daripada bahasa mesin. Bahasa ini sedikit lebih mudah dipahami daripada bahasa mesin mengingat perintah dalam bentuk kata-kata yang dipendekkan lebih mudah daripada mengingat deretan angka biner.
Berikut adalah contoh instruksi yang ditulis dalam bahasa rakitan akan menjadi seperti berikut:
Tampak bahwa penggunaan notasi seperti MOV AH, 02 jauh lebih mudah diingat atau dipahami daripada penulisan instruksi dalam bahasa mesin: B402 atau 1011 0100 0000 0010.
Kode dalam Bahasa RakitanKode dalam Bahasa Rakitan

Bahasa Pemrograman Generasi III

Bahasa pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar komputer melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata yang biasa dipakai manusia, seperti WRITE untuk menampilkan sesuatu di layar dan READ untuk membaca data dari keyboard.
Bahasa generasi ketiga seringkali disebut sebagai high level language disebabkan bahasa ini menggunakan kata-kata yang biasa digunakan manusia. Beberapa contoh bahasa pemrograman yang masuk dalam kategori generasi ketiga yaitu ADA, ALGOL, C, BASIC, COBOL, FORTRAN, dan PASCAL.

Bahasa Pemrograman Generasi IV

Bahasa pemrograman generasi keempat dirancang untuk mengurangi waktu pemrograman dalam membuat program sehingga diharapkan produktifitas pemrogram jadi meningkat dan program dapat dibuat dalam waktu yang lebih singkat. Alhasil, bahasa pemrograman generasi keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang mengetahui hal-hal teknis tentang pemrograman tanpa bantuan pemrogram profesional. Sebagai contoh pemrogram dapat membuat program dengan Microsoft Access di lingkungan PC dengan mudah.
Bahasa pemrograman generasi keempat biasa disebut sebagai high level language atau bahasa berorientasi pada masalah (problem oriented language) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa prosedural. Bahasa pemrograman generasi keempat menggunakan pendekatan non-prosedural. Untuk mendapatkan suatu hasil, seorang pemakai tidak perlu memberitahukan secara detail tentang bagaimana mendapatkannya. Gambar di bawah ini memberikan contoh yang menunjukkan perbedaan bahasa prosedural dan non-prosedural dalam memperoleh data tentang seorang mahasiswa.
Bahasa Prosedural dan Non ProseduralBahasa Prosedural dan Non Prosedural

Bahasa Pemrograman Generasi V

Bahasa pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence). Kecerdasan buatan adalah disiplin dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia. Berbagai aplikasi kecerdasan manusia adalah sebagai berikut:
  • Pemrosesan bahasa alami (natural language processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
  • Pengedalian robotika dan sensor mata.
  • Aplikasi sistem pakar (expert system) yang meniru seorang pakar di bidang tertentu sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang pakar.
Dengan menggunakan bahasa generasi kelima dimungkinkan untuk melakukan perintah dengan cara percakapan seperti berikut:
“Tampilkan semua nama mahasiswa yang IPK-nya di atas 3,0 dan urutkan berdasarkan IP secara descending”
PROLOG dan LISP merupakan dua contoh bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan

 3.3Struktur Bahasa Pemrograman

 1.     Pengenalan Bahasa Pemrograman
1.1 Pengertian Bahasa Pemrograman
Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikan masalah.

Sedangkan pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
Bahasa pemrograman atau sering diistilahkan juga dengan bahasa komputer adalah teknik komando/instruksi standar untuk memerintah komputer. 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.
Terdapat 3 faktor penting dalam bahasa pemrograman :
1. Sintaks adalah aturan penulisan bahasa tersebut (tata bahasanya).
2. Semantik adalah arti atau maksud yang terkandung didalam statement tersebut.
3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.
Dalam pengertian luas pemrograman meliputi seluruh kegiatan yang tecakup dalam :
– Pembuatan Program, termasuk analisis kebutuhan (requirement analysis)
– Keseluruhan tahapan dalam perencanaan (Planning), Perancangan (Design), dan Perwujudannya (Implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan :
– Pengkodean (Coding atau Program Writting = “Penulisan Program”)
– Pengujiannya (testing) berdasarkan rancangan tertentu.
Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan program – program terapan komersial yang membedakan antara system analyst yang bertanggung jawab dalam menganalisa kebutuhan, perencanaan dan perancangan program dengan pemrogram (programmer) yang bertugas membuat program dan menguji kebenaran program.
Dalam pengolahan data memerlukan beberapa aspek – aspek dasar yaitu :
A. Brainware
Tenaga pelaksana yang menjalankan serta mengawasi pengoperasian sistem unit komputer didalam proses pengolahan data untuk menghasilkan suatu informasi yang tepat waktu, tepat guna dan akurat.
Contoh : Sistem Analis, Programmer, operator, Technical Support, dll.
B. Hardware
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer yang digunakan untuk membantu proses kerja manusia (Brainware).
Contoh : CPU, Monitor, Keyboard, Harddisk, Disk drive, dll.
C. Software
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak program komputer yang digunakan untuk membantu proses kerja manusia (Brainware).
Contoh : Sistem Software, Application Software, Package Software, dll.
2.     Klasifikasi Bahasa Pemrograman
Untuk Klasifikasi Bahasa Pemrograman dibagi menjadi 5 bagian
1. Generasi Pertama
Bahasa yang berorientasi pada mesin. Program disusun menggunakan bahasa mesin/kode mesin. Bahasa Mesin adalah bahasa tingkat rendah yang hanya dipahami oleh komputer. Bahasa mesin ini sangat sulit dipahami oleh orang awam sehingga programmer harus menguasai operasi komputer secara teknis.
Abstraksi bahasa ini adalah kumpulan kombinasi kode biner “0” dan “1” yang sangat tidak alamiah bagi kebanyakan orang – kecuali insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat rendah.
2. Generasi Kedua
Bahasa pemrograman yang menggunakan bahasa rakitan / Assembly. Bahasa Assembly adalah bahasa pemrograman yang menggunakan instruksi yang sama seperti pada bahasa mesin, tetapi instruksi dan variable yang digunakan mempunyai nama sehingga mempermudah proses pemrograman. Karena tidak lagi menggunakan deretan kode biner untuk melakukan pemrograman.
3. Generasi Ketiga
Bahasa pemrograman yang menggunakan pendekatan prosedural. Instruksi program ditulis menggunakan kata-kata yang biasa digunakan oleh manusia. Contoh : WRITE (untuk menampilkan kelayar)
READ (untuk membaca data masukan dari keyboard). Bahasa pada generasi ini disebut juga Bahasa beraras tinggi / High Level Language.
Contoh bahasa pemrogaman :PASCAL, FORTRAN, C, COBOL, BASIC dll.
Pada generasi bahasa pemrograman terakhir sekarang ini, kedua cara interpretasi dan kompilasi digabungkan dalam satu lingkungan pengembangan terpadu (IDE = integrated development environment). Cara interpretasi memudahkan dalam pembuatan program secara interaktif dan cara kompilasi menjadikan eksekusi program lebih cepat.
Pertama program dikembangkan interaktif, kemudian setelah tidak ada kesalahan keseluruhan program dikompilasi. Contoh bahasa program seperti ini adalah Visual BASIC yang berbasis BASIC dan Delphi yang berbasis PASCAL.
Bahasa tingkat tinggi bersifat portable. Program yang dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.
4. Generasi keempat
Merupakan Bahasa Non-Prosedural. Bahasa pemrograman Generasi Ke-4 dirancang untuk mengurangi waktu pemrogram untuk membuat program sehingga pembuatan program dibuat dengan waktu lebih cepat.
Program ini dapat digunakan oleh pemakai yang kurang mengenal hal-hal teknis pemrograman tanpa perlu bantuan seorang programmer professional.
Contoh : Membuat program database sederhana dengan Microsoft Access.
Bahasa generasi ke-4 disebut juga dengan Very High Level Language atau Problem Oriented Language (bahasa yang berorientasi pada masalah) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode pemrograman dibandingkan dengan bahasa prosedural.
Fasilitas yang tersedia :
  • Program Generator (untuk membuat aplikasi mudah).
  • Report Generator (untuk membuat laporan dengan mudah dan cepat)
  • Bahasa Query (SQL).
Dengan adanya fasilitas ini programmer sedikit dalam menuliskan kode instruksi.
Contoh Bahasa Generasi ke-4: Oracle, Microsoft Access dsb.
5. Generasi kelima
Merupakan bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence-AI). AI adalah disiplin dari ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.
Contoh Aplikasi :
  • Pemrosesan Bahasa Alami : mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia.
  • Aplikasi Sistem Pakar : program komputer yang dapat menghasilkan pemikiran yang setara dengan seorang pakar.
Contoh Bahasa Pemrograman : PROLOG dan LISP.
2.1  Bahasa Pemrograman Berdasarkan  Perkembangan
A. Machine Language
Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin (komputer) yang  didalamnya terdapat CPU yang hanya mengenal 2 (dua) keadaaan yang berlawanan, yaitu :
– Bila tejadi kontak (ada arus) bernilai 1
– Bila kontak terputus (tidak ada arus) bernilai 0
B. Low Level Language (Bahasa tingkat rendah)
Karena susahnya bahasa mesin, maka dibuatlah simbol yang mudah diingat yang disebut dengan “Mnemonics” (Pembantu untuk mengingat).
Contohnya :
A          : Untuk kata Add (Menambahkan)
B          : Untuk kata Substract (mengurangi )
Mov     : Untuk kata Move ( Memindahkan )
Bahasa Pemrograman yang menerjemahkan Mnemonics disebut Assembler
C. Middle Level Language (Bahasa tingkat menengah)
Bahasa pemrograman yang menggunakan aturan – aturan gramatikal dalam penulisan pernyataan, mudah untuk dipahami dan memilik instruksi – instruksi tertentu yang dapat langsung diakses oleh komputer, Contohnya adalah bahasa C.
D. High Level Language (Bahasa tingkat tinggi)
Bahasa Pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung. Bahasa pemrograman ini terbagi menjadi 2, yaitu :
1. Procedure Oriented Language
a. Scientific
Digunakan untuk memecahkan persoalan matematis/perhitungan, misal : Algol, Fortran, Pascal, Basic.
b. Bussines
Digunakan untuk memecahkan persoalan dalam bidang bisnis, misal : Cobol, PL/1.
2. Problem Oriented Language
Misal : RPG (Report Program Generator).
E. Object Oriented Language (Bahasa berorientasi obyek)
Bahasa pemrograman yang berorientasi pada obyek. Bahasa pemrograman ini mengandung fungsi-fungsi untuk menyelesaikan suatu permasalahan dan program tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukkan kriteria-kriteria yang dikehendaki saja Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual C , dll.
3.     Kerangka Dasar Pemrograman
3.4 TIPE DATA, KONSTANTA, EKSPRESI, OPERATOR DAN VARIABEL
A.   TIPE DATA
Tipe data biasanya digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type.

Setiap data yang ada pada program pascal memiliki tipe data, baik berupa angka bulat (integer), angka biasa (real), atau berupa karakter (char),(String) dan sebagainya.

Jenis - Jenis data yang di kenal dalam Bahasa Pascal yaitu :
  • Tipe Data Sederhana
  • Tipe Data Terstruktur
Tipe Data Sederhana
1.Bilangan bulat ( integer )
Tipe data ini menerima angka dan bisa dilakukan proses aritmatika. Tipe data ini adalah tipe data bilangan bulat, yaitu Bilangan atau angka yang tidak memiliki titik desimal atau pecahan.
Contoh : 
Program display_maxint;uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
2. Bilangan biasa ( real )
Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, Tipe data ini menerima angka dan koma serta bisa dilakukan proses aritmatika.
Contoh :
a' 'B' '+', dsb.  
3. Boolean
Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu true dan false. Biasanya digunakan untuk operasi logika dengan ungkapan AND, OR, atau NOT

Contoh :
Program display_bool;uses wincrt;
begin writeln(ord(true));
writeln(ord(false));
end.
Hasilnya: 1 0 3.2.
4. Karakter ( char )
Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya: ’A’, ’B’, .....,’Z’, ’?’,’!’, dst. Tipe data ini adalah tipe data yang menerima kumpulan karakter (huruf, angka, symbol) tipe data ini tidak bisa dilakukan proses aritmatika.



5. String
String adalah tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip. Tipe data yang menerima kumpulan karakter (huruf, angka, symbol) tipe data ini tidak bisa dilakukan proses aritmatika
Tipe Data Terstruktur
1. Array
Array atau lark adalah tipe terstruktur yang mempunyai komonen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing komponen dalam array dinyatakan sebagi nomor index.
Contoh:
Type
     Tipe_saya=array[1..100] of integer
Var
     Var_baru   : tipe_saya;
2. Record
Definisi Record hampir sama dengan Array, tetapi yang membedakan antara keduanya adalah kalau Array semua komponennya bertipe data yang sama sedangkan Record setiap komponennya bisa bertipe data yang beda-beda.
Contoh:
TYPE my_rec = RECORD
   Nama : STRING[90]; Npm  : STRING[ 8] ;
     Nilai : REAL;
END;
VAR
   Data nya    : my re c;

3. Set
Himpunan (set) adalah kumpulan obyek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap obyek dalam suatu himpunan disebut dengan anggota atau elemen himpunan.
Contoh:
TYPE irama = (JAZZ, POP, ROCK ,DANGDUT, SKA);
      Musik = SET OF irama;
VAR
     Jenis musik : Musik;
4. File
File (Berkas) adalah kumpulan sejumlah komponen yang bertipe data sama, yang jumlahnya tidak tertentu, dan biasanya tersimpan dalam suatu media penyimpan luar
Tipe Data Penunjuk
Pointer
Tipe data pointer merupakan tipe data yang berbeda dengan yang lainnya. Semua tipe data yang lainnya bersifat STATIS sedangkan tipe Pointer bersifat DINAMIS. Tipe ini merupakan tipe data untuk suatu variabel, dimana isi variabel ini berupa alamat variabel lain, dalam artian variabel pointer adalah variabel yang menunjuk nilai atau alamat variabel lainnya.

B.   VARIABEL
Variabel adalah identifier yang berisi data yang dapat berubah-ubah nilainya di dalam program. Variabel dapat disebut juga sebagai perubah nilai, yaitu sesuatu yang dapat digunakan untuk menyimpan nilai, dimana nilai yang disimpan ini dapat selalu berubah-ubah.



JENIS-JENIS VARIABEL :

1.      Boolean
Data boolean disebut juga data bilangan lojik. Tipe data boolean hanya mengenal dua buah nilai yaitu benar (true) dan salah (false).

2.      Integer
Data integrer merupakan nilai bilangan bulat dalam bentuk desimal misalnya 1, 2, 34, 765, 0, -89, -70. tipe data integrer mempunyai ranah nilai yang tidak terbatas. Dalam Turbo Pascal terdapat lima macam tipe data integrer, yaitu: byte, shorint, word, integer dan longint.

3.      Real
Data real adalah data yang mengandung data desimal misalkan 3.65, 9.0876, 2.00, dan lain-lain. Bilangan real juga dapat dituliskan dengan notasi E, yang artinya perpangkatan sepuluh. Misalnya 230.40E32 artinya 230.40 x10³².

4.      Karakter (char)
Data karakter ditulis dengan menggunakan tanda petik ( “ “ ) misalkan “A” ,”@”, “z”, “#”, “1”, “-234”, “+”, “<” dan lain-lain. Tapi perlu diperhatikan “9” adalah karakter tetapi jika di tulis 9 maka tipenya menjadi integer. Maka sarat mutlak menulisan karakter harus menggunakan tanda baca petik ( “ “ ).

5.      String
Data string adalah untaian karakter-karakter dengan panjang tertentu yang terletak diantara tanda petik tunggal. nilai data string akan menepati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Contoh dari data sring adalah seperti ‘teknik’, ‘informatika’, ‘9876151’ dan sebagainya.

6.      Pointer
Pointer adalah suatu variabel yang berisi alamat yang akan disimpan pada
memori.

7.      Ordinal
ordinal adalah tipe data yang merupakan subset dari tipe data sederhana (tipe data standart dan tipe data yang di definisikan sendiri oleh pemakai). Yang dimaksud dengan tipe data sederhana adalah semua tipe data kecuali tipe data riel. Jadi yang termasuk tipe data ordinal adalah tipe data stendart (integer, shortint, longit, byte, word, boolean, dan chart), dan tipe data yang didefinisikan sendiri oleh pemakai

Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu:
  • Nama variabel harus diawali dengan huruf.
  • Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
  • Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
  • Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman

C.   KONSTANTA
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. konstanta dibagi menjadi 4 :
  • Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal
  • Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (menyatakan konstanta float).
  • Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape (escape sequence).
  • Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). Beberapa konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik tunggal).
Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang.
Konstanta digunakan apabila anda sering menggunakan suatu nilai konstanta secara berulang-ulang dalam kode anda, dan anda tidak ingin kerepotan untuk mengetikkan nilai konstanta itu terus menerus.
Untuk membuat sebuah konstanta pada dasarnya sama sepertUntuk membuat sebuah konstanta pada dasarnya sama seperti Variabel.

const NamaKonstanta: JenisKonstanta := NilaiKonstanta;





D.   EKSPRESI
Ekspresi  adalah transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan (komputasi).
Ekspresi terdiri atas operand dan operator, contoh ekspresi: “a + b”.Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai

MACAM – MACAM EKPRESI
Ø  Ekspresi aritmatika
Ekspresi yang baik operand-nya bertipe numerik dan hasilnya juga bertipe numerik.
·         Ekspresi aritmatika memakai operator aritmatika.
          Pada ekspresi aritmetik terdapat 2 buah operator yaitu :
·         Operator biner, yaitu ekspresi yang operatornya membutuhkan 2 buah operand.
          Contoh a+ b
·        Operator Uner, yaitu “-” atau operator yang punya 1 operand contoh “-2”
          Contoh 2. (Penulisan ekspresi dengan notasi algoritma)
T = 5/9 * (c + 32)
Z = (2*x + y) / (5 * w)
Y = 5((a+b) / (c*d) + m (p + q))

Ø  Ekspresi Perbandingan/ Relasional
Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional disebut ekspresi boolean.

Ø  Ekspresi Logika (Menggunakan Operator Boolean)
Adalah sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertenti  terpenuhi.
Operator boolean digunakan untuk menghubungkan dua buah ekspresi logika. Pada kesempatan ini operator boolean yang akan dibahas adalah AND dan OR.
Operator AND digunakan untuk menghubungkan dua buah ekspresi logika dan hasilnya
TRUE jika kedua ekspresi tersebut bernilai TRUE.

Logika I
Operator
Boolean
Lgika II
Hasil Akhir
FALSE
FALSE
FALSE
FALSE
AND
TRUE
FALSE
TRUE
FALSE
FALSE
TRUE
TRUE
TRUE

Operator OR dipergunakan untuk menghubungkan dua buah ekspresi logika dan hasilnya bernilai TRUE jika minimal salah satu ekspresi logika bernilai TRUE.

Logika I
Operator
Boolean
Lgika II
Hasil Akhir
FALSE
FALSE
FALSE
FALSE
OR
TRUE
TRUE
TRUE
FALSE
TRUE
TRUE
TRUE
TRUE

Contoh01
1. Program PenerimaanPegawai;
2. Uses Crt;
3. Var Umur : Integer;
4. Ket : String;
5. Begin
6. ClrScr;
7. Write(‘Umur calon pegawai : ‘); Readln(Umur);
8. If (Umur >= 20) AND (Umur <= 30) THEN Ket:=’DITERIMA’
9. ELSE Ket:=’DITOLAK’;
10. Writeln(‘Status pegawai : ‘,Ket);
11. End.

E.   OPERATOR
OPERATOR DALAM BAHASA PASCAL
Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai data . Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam beberapa kategori, yaitu

·         Operator Boolean
Operator yang menyatakan suatu kondisi tertentu.
Macam dari operator boolean ini adalah:
NO
OPERATOR
ARTI
1
Not
Hasil ouput akan bernilai 1 apabila semua masukan bernilai 0
2
And
Hasil output akan bernilai 1 apabila semua masukan bernilai 1
3
Or
Hasil output akan bernilai 1 apabila masulan salah satunya bernilai1

  • Assignment operator
Menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=).
Contoh :
A:=B;
  • Binary operator
Untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real.
Operator
Operasi
Tipe Operand
Tipe Hasil
*
perkalian
real, realinteger, integerreal, integer
realintegerreal
Div
pembagian bulat
integer,integer
integer
/
pembagian real
real,realinteger,integerreal,integer
Realrealreal
Mod
sisa pembagian
integer,integer
integer
+
pertambahan
real,realinteger,integerreal,integer
realintegerreal
-
pengurangan
real,realinteger,integerreal,real
realintegerreal

Contoh :
15*5   hasilnya     75
20/3   hasilnya       6.6666666667E+00
div 3         hasilnya           6
20 mod 3  hasilnya           2
  • Unary operator
Dapat berupa unary minus dan unary plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda plus.
Lihat pada table berikut : (operator pada unary operator)
Operator
Arti
+ (Plus)
Positif
- (Minus)
Negatif
Contoh :
-5         +7
-2.5      +2.5
  • Relational operator
Membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu True atau False.
Operator-operator yang terlibat adalah :
= : sama dengan
> : lebih besar
< : lebih kecil
<> : tidak sama dengan
>= : lebih besar atau sama dengan
<= : kurang atau sama dengan
  • Logical operator
Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu True dan False.
*      True:jika tipe integer bernilai tidak nol(0)
*      False jika tipe integer bernilai nol(0)

  • Address operator
           Operator ini berhubungan dengan alamat di memori, yaitu :
@ : Addriess-of Operator adalah alamat dari suatu nilai variabel.
^ : Indirection Operator adalahnilai di alamt yang ditunjukkan.
Operator ini akan digunakan pada pembahasan mengenai pointer.
  • Set operator
            Digunakan untuk operasi himpunan
Operator
Operasi
+
Union
-
Perbedaan himpunan
*
Perkalian himpunan
  • String operator
Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.
Contoh :
Nama1 := ‘Asa‘;
Nama2 := ‘Anugrah’;
Nama3 := Nama1 + Nama2;
LAMBANG-LAMBANG:
Perioritas
Operator
Keterangan
I
()
Tanda kurung
II
++    --
Increment, Decrement
III
*  /  %
Kali, bagi dan sisa
IV
+  -
Tambah dan kurang
V
=  +=   -=   *=   /=   %=
Operator pemberi nilai aritmatika
VI
!
Operator logika NOT 
VII
<   >   <=   >=
Operator relasional
VIII
&&   ||
Operator logika DAN dan ATAU


 3.5 Operator Aritmatika dan Logika

KB 1. Operator Aritmatika
Definisi Operator dan Operand 
Operand adalah nilai atau data asal yang digunakan dalam suatu operasi. Operator dapat
didefinisikan sebagai simbol atau instruksi khusus yang digunakan untuk memanipulasi operand (Dhidhi Pambudi & Dwi Maryono, 2014)

Operator Relasional
Operator Relasional adalah operator yang digunakan untuk menentukan relasi atau
hubungan dari dua buah operand (Dhidhi Pambudi & Dwi Maryono, 2014)

Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan operasi-operasi
perhitungan aritmatika seperti penjumlahan, pengurangan, pembagian, perkalian dll.
Dalam bahasa pemrograman Pascal operator aritmatika dapat dibagi menjadi 2, yaitu : 
 Operator Aritmatika Unair
Operator aritmatika unair adalah operator aritmatika yang hanya melibatkan 1 operand saja. 
 Operator Aritmatika Biner
Operator aritmatika biner adalah operator aritmatika yang melibatkan 2 buah operand (Dhidhi Pambudi & Dwi Maryono, 2014)



KB 2. Pemanfaatan Operator Aritmatika
1. Operator Aritmatika dapat digunakan untuk menyelesaikan berbagai masalah yang terkait
dengan kehidupan sehari-hari.
2. Urutan langkah dalam membuat program yang digunakan untuk menghitung rata-rata
maupun total laba dari suatu perusahaan antara lain :
a. Menentukan jenis variabel yang digunakan
b. Menentukan input data yang akan diproses
c. Menentukan ekspresi matematika yang dapat dikaitkan dengan masalah yang dihadapi
d. Mengubah ekspresi matematika menjadi code yang dapat dipahami oleh pascal
e. Merangkai semua kode menjadi satu kesatuan program. 
3. Selain untuk menghitung rata-rata dan total laba, Operator aritmatika juga dapat digunakan
untuk menghitung besaran diskon dari suatu barang yang dijual, dll (Dhidhi Pambudi & Dwi Maryono, 2014)
  
KB 3. Fungsi Aritmatika
Kita dapat melakukan berbagai operasi dasar dengan
menggunakan operator aritmatika seperti penjumlahan, penguranga, pembagian dan perkalian.Namun bagaimana jika kita dihadapkan dengan ekspresi matematika di bawah ini?
Sin θ
Cos θ
A2 + B2
A=πr2
Kita akan kesulitan mengakomodasi permasalahan di atas dalam FreePascal jika hanya menggunakan operator aritmatika yang telah dipelajari sebelumnya. Maka Freepascal mengakomodasi permasalahan tersebut dengan menyediakan berbagai bentuk fungsi matematika yang lazim digunakan dalam kehidupan sehari-hari. Berikut contoh- contoh fungsi aritmatika pada freepascal yang sering digunakan :
ABS
ABS merupakan fungsi matematika dalam pascal yang berguna untuk menghasilkan nilai mutlak
dari sebuah bilangan negatif . Sintax : ABS(x)
FRAC
Merupakan fungsi matematika dalam Pascal yang berguna untuk menghasilkan nilai desimal dari
bilangan real. Sintax : FRAC(x)
INT
Berguna untuk membulatkan angka pecahan menjadi sebuah bilangan bulat positif. Sintax :
INT(x).
LN
Berfungsi untuk menghasilkan nilai logaritma dari sebuah bilangan. Sintax : Ln(x) 
SIN
Sintaks sin berfungsi untuk menghitung nilai sinus dari sebuah bilangan yang biasanya digunakan untuk menghitung sudut tertetu dari 0 derajat samapi 360 derajat pada operasi metematika. Sintax : Sin(x).
SQR
Berfungsi untuk melakukan perhitungan kuadrat dari sebuah bilangan. Sintax : SQR(x)

SQRT
Berfungsi untuk melakukan penghitungan akar kuadrat dari sebuah bilangan. Sintax : Sqrt(x)
PRED
Perintah PRED digunakan untuk menghsilkan nilai yang lebih kecil darinya. Perintah PRED hanya dapat digunakan pada tioe data numerik, character dan boolean. Sintax : PRED(x)
SUCC
Perintah SUCC digunakan untuk menghasilkan nilai yang lebih besar darinya. Sama seperti perintah PRED, SUCC hanya dapat digunakan pada tipe data numerik, karakter dan boolean. Sintax : SUCC(x)
ODD
Digunakan untuk menentukan sebuah bilangan apakah termasuk bilangan ganjil atau bukan. Output dari operasi out adalah boolean. Sintax : ODD(x)
INC
Digunakan untuk menambah nilai bilangan numerik sebesar 1. Sintax : INC(x)
DEC
Digunakan untuk mengurangi nilai bilangan numerik sebesar 1. Sintax : DEC(x)  (MOCHFITRI ANDRIONO, 2017)

KB 4. Pemanfaatan Fungsi Aritmatika


1. Pemanfaatan fungsi Aritmatika
Operator Aritmatika dapat digunakan untuk menyelesaikan berbagai masalah yang terkait
dengan kehidupan sehari-hari dengan memanfaatkan Freepascal. (Maryono, 2013)


2. Operasi Logika
Suatu fungsi logika atau operasi logika yang dimaksud dalam aljabar Boolean adalah suatu kombinasi variable biner seperti misalnya pada masukan dan keluaran dari suatu rangkaian digital yang dapat ditunjukkan bahwa di dalam aljabar Boolean semua hubungan logika antara variable variable biner dapat dijelaskan oleh tiga operasi logika dasar yaitu :


– Operasi NOT (negation)


– Operasi AND (conjuction)


– Operasi OR (disconjuction


Operasi operasi tersebut dijelaskan dalam tiga bentuk yaitu :

1. Tabel fungsi (tablel kebenaran) yang menunjukkan keadaan semua variabel masukan dan keluaran untuk setiap kemungkinan.


2. Simbol rangkaian untuk menjelaskan rangkaian digital.


3. Persamaan fungsi.

Operasi logika NOT
Fungsi NOT adalah membalik sebuah variable biner, misalnya jika masukannya adalah 0 maka keluarannya adalah 1. Gambar berikut memperlihatkan 3 macam bentuk penggambaran fungsi operasi NOT.


Operasi logika AND
Operasi AND menghubungkan paling sedikit dua masukan variable dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu variabel keluaran y. Variabel keluaran akan berlogika 1 hanya jika semua masukannya x0, x1 sampai xn dalam keadaan 1..


Operasi logika OR
Operasi OR juga menghubungkan paling sedikit dua masukan variable dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu variabel keluaran y.Variabel keluaran akan berlogika 0 hanya jika semua masukannya x0, x1 sampai xn dalam keadaan 0 (Ferucha Pagliuca, 2017)






KB 5. Operasi Logika


A and B atau A & B, untuk operator AND, jika salah satu kondisi bernilai salah maka akan menghasilkan FALSE, sedangkan jika kedunya benar maka akan bernilai true, agar kondisi bernilai benar maka A dan B harus benar.


A or B atau A || B, untuk operator OR, jika salah satu kondisi bernilai benar baik untuk kondisi A maupun B maka akan menghasilkan TRUE (benar), jika kedua kondisi baik A maupun B bernilai salah maka hasilnya FALSE (salah), untuk menghasilkan kondisi benar maka setidaknya harus ada kondisi yang benar baik itu untuk konsisi A maupun B



Perlu anda ketahuai bahwa setiap instruksi bahasa pemrograman sangat dipengaruhi oleh instuksi standar program yang digunakan walaupun logika cara berfikirnya sama (Rizqia Khoirunisa, 2016)






3.6 Pembahasan dan Contoh Struktur Kontrol Percabangan pada Bahasa Pemrograman C++


Pembahasan dan Contoh Struktur Kontrol Percabangan pada Bahasa Pemrograman C++

Ada beberapa macam Struktur Kontol Pecabangan yang ada didalam C++, yaitu :

Pecabangan if

Pecabangan if merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi. Bentuk umum penulisannya adalah sebagai berikut.
if(kondisi){
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int a = 10;
 int b = 7;
 if(a>=b){
  a = 7;
  b = 10;
 }
 cout<<"Nilai A : "<<a<<endl;
 cout<<"Nilai B : "<<b<<endl;
 getch();
}

Percabangan if-else

Percabangan if-else merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi yang apabila kondisi tersebut benar maka perintah yang didalamnya akan dijalankan dan apabila kondisinya salah maka ada perintah lainnya yang akan dijalankan oleh program. Bentuk umum penulisannya adalah sebagai berikut.
if(kondisi){
 statement;
}
else{
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int x;
 int angka = 10;
 cout<<"Angka 1 - 10"<<endl;
 cout<<"Masukan Tebakan anda : ";cin>>x;
 if(x==angka){
  cout<<"Tebakan anda benar"<<endl;
  cout<<"Selamat!";
 }
 else {
  cout<<"Maaf tebakan anda salah!";
 }
 getch();
}


Percabangan if-else if-else

Percabangan if-else if-else merupakan struktur kontrol pecabangan yang memiliki banyak kondisi. Bentuk umum penulisannya adalah sebagai berikut.
if(kondisi1){
 statement;
}
else if(kondisi2){
 statement;
}
else{
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int x;
 int angka = 6;
 cout<<"Angka 1 - 10"<<endl;
 cout<<"Masukan Tebakan anda : ";cin>>x;
 if(x==angka){
  cout<<"Tebakan anda benar"<<endl;
  cout<<"Selamat!";
 }
 else if(x>angka){
  cout<<"Tebakan anda terlalu besar";
 }
 else{
  cout<<"Tebakan anda terlalu kecil";
 }
 getch();
}


Percabangan switch

Percabangan switch merupakan struktur kontrol pecabangan yang juga memiliki banyak kondisi, akan tetapi kondisi dalam percabangan switch ini bertipe numerik. Default berfungsi untuk menjalankan perintah default/umum/dasar apabila kondisi tidak sesuai dengan nilai case yang ada. Bentuk umum penulisannya adalah sebagai berikut.
switch(kondisi){
 case konstanta_1:
 statement;
 break;
 case konstanta_2:
 statement;
 break;
 default:
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int nilai;
 cout<<"Masukan Nilai anda 0 - 10 : ";cin>>nilai;
 cout<<"Anda masuk kategori ";
 switch(nilai){
  case 10:
  case 9:
  cout<<"A";
  break;
  case 8:
  case 7:
  cout<<"B";
  break;
  case 6:
  case 5:
  cout<<"C";
  break;
  case 4:
  case 3:
  case 2:
  case 1:
  case 0:
  cout<<"D";
  break;
  default:
  cout<<"nilai anda tidak masuk kategori!";
 }
 getch();
}

Itulah Pembahasan dan Contoh Struktur Kontrol Percabangan pada Bahasa Pemrograman C++. Semoga bermanfaat bagi anda. Sekian dulu dari saya dan Terima kasih sudah berkunjung.

Struktur Kontrol Perulangan
1. Kontrol Perulangan while
Perulangan while merupakan struktur kontrol perulangan dimana kondisi akan diperiksa sebelum statemen, dan akan terus berjalan selama kondisi yang dihasilkan dalam perulangan tersebut masih bernilai true(benar). Struktur dari perulangan while ini hampir sama dengan struktur perulangan for.
Bentuk umum penulisan program
while(kondisi) {
statement;
}
 #include <stdio.h>
int main(){
int a = 0;
while(nilai =< 10) {
printf ("Baris ke- %d
    i++; //increment
  }
}

2. Kontrol Perulangan do while
Kalo perulangan while kondisi diperiksa sebelum statemen beda halnya dengan do while. Jadi perulangan do while yaitu stuktur kontrol perulangan yang dimana kondisi di periksa setelah statemen. Jada penulisan kondisi berada di akhir perulangan sedangkan pada perulangan while kondisinya dituliskan di awal perulanagan.
Bentuk umum penulisan program
do{
statement;
} while(kondisi);

#include <stdio.h>
main() {
int i = 0;
do{
printf ("Baris ke- %d
    i++;
  } while (nilai =< 10);

}

3. Kontrol Perulangan for
Perulangan for merupakan stuktur kontrol perulangan yang dimana jumlah perulangan ditentukan dalam struktur. Jadi dalam struktur berisi nilai awal, kondisi, dan langkah perulangan.
Bentuk umum penulisan program
for(awal; kondisi; langkah){
statement;
}

contoh program

#include <stdio.h>
main() {
for (a = 0; a =<10 ; i++
printf ("Baris ke- %d
  }

} 

Komentar