Senin, 22 Oktober 2012

Dasar-dasar Algoritma Pemograman (By : Ramdani)

Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M.
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Hal ini ditekankan padaah. Hal ini ditekankan adala urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Hal pertama yang ditekankan adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Definisi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Contoh; Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Algoritma  Tukar Isi Bejana
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
  1. Tuangkan larutan dari bejana A ke dalam bejana C.
  2. Tuangkan larutan dari bejana B ke dalam bejana A.
  3. Tuangkan larutan dari bejana C ke dalam bejana B.
Ciri Penting Algoritma
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
  • Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
  • Algoritma memiliki nol atau lebih masukkan.
  • Algoritma memiliki nol atau lebih keluaran.
  • Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal)
 


Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang dengan baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah dengan komputer perlu merumuskan langkah langkah penyelesaian masalah dalam sekumpulan instruksi. Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman dapat dikategorikan dalam :
  • Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
  • Bahasa tingkat menengah[MLL] : Assembly
  • Bahasa tingkat rendah [LLL] : Machine Code
Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.
  • Interpreter; Menterjemahkan baris per baris instruksi [Bahasa Basic]
  • Compiler; Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.
Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman
NOTASI ALGORITMA NARASI
Contoh; Algoritma Kelulusan_mhs
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus. jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan
NOTASI ALGORITMA PSEUDOCODE
Contoh; Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut  dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
NOTASI ALGORITMA FLOWCHART
Aturan Penulisan Algoritma;
Judul algoritma;Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
Deklarasi; Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
Deskripsi; Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Created By: Ramdani

Cara Mudah Belajar Algoritma Pemograman dengan C++ (By : Erna Murnawati)

Tujuan nya adalah untuk memudahkan pembuatan program baik yang sederhana maupun yang kompleks.
Yang dimaksud dengan program adalah kumpulan intruksi yang digunakan untuk mengatur computer agar melakukan suatu tindakan tertentu.
Suatu program ditulis mengikuti kaidah bahasa pemograman tertentu. Bahasa pemograman dapat di analogikan dengan bahasa yang digunakan  manusia (bahasa manusia). Kumpulan intruksi dalam bahasa manusia yang berupa sejumlah kalimat dapat anda analogikan dengan suatu program.
Dalam konteks pemograman, terdapat sejumlah bahasa pemograman, seperti : Pascal, C, C++, dan Basic.

Baiklah untuk mempersingkat waktu dengan cara menganalisis riset dari suatu masalah dan membuat algoritma sederhana transaksi pembayaran pada swalayan yang menggunakan seleksi fungsi if else untuk membuat program transaksi pembayaran.

Permasalahan :
Suatu swalayan memberikan diskon sebesar 10 % bagi siapa saja yang berbelanja sebesar Rp100.000  atau lebih. Buatlah algoritma untuk menghitung nilai uang yang harus dibayar oleh pembeli.
Solusi: Pemecahan masalah ini dalam bentuk diagram alir data dan pseudecode  dapat dilihat pada gambar berikut.
  1. Masukkan (pembelian)
  2. Jika pembelian >= 100000 maka diskon ß 0.1* pembelian sebaliknya diskon 0 akhir-jika
  3. pembayaranß pembelian – diskon
  4. tampilkan (pembayaran
Flowchartnya :

Artikel Algoritma Dan Pemrograman (By: Dwi Purwanto)

PENGANTAR
1.     A.    Pengertian Algoritma & Pemrograman
2.     1.      Algoritma
Asal  usul  kata  algoritma  dapat  Anda  baca  dalam  buku  “The  Art  of  Computer Programming Second Edition Volume I” yang ditulis oleh Donald E. Knuth (1973, p1- )
Menurut  Donald  E.  Knuth  (1973,p4),  algoritma  dalam  penger tian  modern mempunyai kemiripan dengan istilah resep ,  proses, metode, teknik, prosedur, rutin . Algor itma  adalah  sekumpulan  aturan-aturan  berhingga  yang  memberikan  sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus. Menurut  Rinaldi  Munir,  algoritma  adalah  urutan  langkah-langkah  logis penyelesaian masalah yang disusun secara sistematis. Berdasarkan dua pengertian algoritma di atas, dapat disimpulkan bahwa algor itma merupakan suatu istilah yang luas, yang tidak hanya berkaitan dengan dunia komputer.
1.     2.      Pemrograman
Pemrograman berasal dar i kata  program  yang diberi awalan pe– dan akhiran –an. Dalam buku ini, program berarti progr am komputer. Pengertian   program   computer menurut John M. Zelle,  Ph.D.  dalam bukunya  yang  berjudul “Python  Programming: An  Introduction to  Computer  Science”  (2002,  p1)  adalah  sekumpulan  instruksi langkah per langkah yang member itahukan mengenai yang harus dilakukan computer secara  tepat.  Pemrograman   adalah  segala  kegiatan  pembuatan  program  computer.
Kemudian  terdapat  pula  istilah   bahasa  pemrograman   yang  berarti  bahasa  yang digunakan dalam pembuatan program komputer. Berdasarkan  pengertian  algor itma  dan  pemrograman,  maka  dapat  dikatakan bahwa  progr am  merupakan  hasil  penerapan  dari  algoritma- algoritma.  Akan  tetapi, dalam  buku  ini  tidak dibahas  materi  mengenai  pembuatan  program  komputer.  Buku ini  memfokuskan teknik-teknik pembuatan  algoritma  itu  sendir i.  Nama  mata  kuliah Algor itma dan Pemrogr aman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma yang dapat diterapkan dalam pemrograman.
1.     B.     Tipe-tipe Algoritma Berdasarkan Format Penulisan
Algoritma  adalah  independen  terhadap  bahasa  pemr ograman  tertentu,  artinya algoritma  yang  telah  dibuat  tidak  boleh  hanya  dapat  diterapkan  pada  bahasa pemrograman  tertentu.  Penulisan  algoritma  tidak  ter ikat  pada  suatu  aturan  tertentu, tetapi harus jelas maksudnya untuk tiap langkah algoritmanya. Namun pada dasar nya algoritma dibagi menjadi beberapa macam berdasarkan for mat penulisannya, yaitu:
1.     1.      Deskriptif
Algoritma  bertipe  deskr iptif  maksudnya  adalah  algoritma  yang  ditulis  dalam bahasa manusia sehari- hari (misalnya bahasa Indonesia atau bahasa Inggris) dan dalam bentuk  kalimat.  Setiap  langkah  algoritmanya  diterangkan  dalam  satu  atau  beberapa kalimat.
Sebagai contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan berikut ini:
Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan
§  Meminta input 3 bilangan dari user, misalkan bilangan a, b, dan c.
§  Apabila  bilangan  a  lebih besar  dari  b  maupun  c,  maka  bilangan  a merupakan bilangan terbesar.
§  Jika  tidak  (bilangan  a tidak  lebih  besar  dari  b  atau  c)  berarti bilangan  a  sudah  pasti  bukan  bilangan  terbesar.  Kemungkinannya tinggal  bilangan  b  atau  c.  Apabila  bilangan  b  lebih  besar  dari  c, maka  b  merupakan  bilangan  terbesar.  Sebaliknya  apabila  bilangan  b tidak lebih besar dari c, maka bilangan c merupakan yang terbesar.
§  Selesai.
1.     2.      Flow Chart (Diagram Alir)
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam  bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algor itma yang ditulis dengan simbol-simbol demikian yang dinamakan  flow chart .
Mengenai  lambang- lambang  yang  digunakan  akan  dibahas  pada  bagian selanjutnya. Sekarang diberikan suatu contoh algoritma menentukan bilangan terbesar dar i 3 bilangan seperti yang dicontohkan sebelumnya, tetapi ditulis dalam bentuk flow chart.
1.     3.      Pseudocode
Pseudo  berarti imitasi dan  code  ber arti kode yang dihubungkan dengan instruksi yang  ditulis  dalam  bahasa  komputer  (kode  bahasa  pemrograman).  Apabila diterjemahkan  secar a  bebas,  maka  pseudocode  berarti  tiruan  atau  imitasi  dari  kode bahasa pemrograman. Pada  dasarnya,  pseudocode  merupakan  suatu  bahasa  yang  memungkinkan programmer untuk berpikir terhadap per masalahan yang harus dipecahkan tanpa harus memikirkan   syntax   dar i  bahasa  pemrogr aman  yang  tertentu.  Tidak  ada  aturan penulisan   syntax   di  dalam  pseudocode.  Jadi  pseudocode  digunakan  untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku ini akan diberikan  suatu aturan-aturan  penulisan syntax yang cukup  seder hana  agar  pembaca dapat  lebih  mudah  dalam  mempelajari algoritma-algor itma  yang  ada  di  dalam  buku ini.  Pseudocode  yang  ditulis  di  dalam  buku  ini  akan  menyerupai  (meniru)  syntax- syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga tidak akan ada  kesulitan  bagi  pembaca  untuk  memahami  algoritma- algor itma  dalam  buku  ini walaupun pembaca belum pernah mempelajar i bahasa Pascal.
Contoh  algoritma  menentukan  bilangan  terbesar  dar i  tiga  bilangan  yang  ditulis dalam bentuk pseudocode bergaya buku ini.
01|    ALGORITMA Menentukan_terbesar_dari_3_bilangan
02|    Deklarasi:
03|    a,b,c, terbesar : integer
04|
05|    Deskripsi:
06|      Read(a,b,c)
07|      If (a>b) and (a>c) then
08|          Terbesar     a
09|      Else
10|          If b>c then
11|             Terbesar   b
12|          Else
13|             Terbesar     c
14|          Endif
15|      Endif
16|      Write(terbesar)
   C.    Flow Chart (Diagram Alir)
 1.      Pengertian
Diagram alir atau flow chart adalah suatu bagan yang menggambarkan arus logika dar i data  yang akan dipr oses dalam suatu program dari awal sampai  akhir. Diagram alir terdiri dar i simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flow lines)  menunjukkan urutan dari simbol-simbol yang akan diker jakan.

Algoritma
Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Sejarah istilah "algoritma"Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Jenis-jenis Algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;
dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
Sekilas tentang Algortima Komputer
Orang yang telah terbiasa “bergaul” dengan komputer menggunakan satu bahasa pemrograman tertentu (tingkat mahir), biasanya tidak lagi memerlukan kertas coret-coretan untuk membuat suatu program komputer. Namun bagi pemula, pembelajar, atau yang belum mahir, diperlukan kertas coret-coretan tersebut. Kertas coret-coretan itu akan digunakan untuk menyusun algoritma (langkah-langkah penyelesaian masalah), flowcharting (alur logika perintah, yang merupakan aplikasi dari algoritma), maupun menuliskan perintah sesuai dengan kaidah dari bahasa pemrograman yang akan digunakannya. Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu. menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan. Hal utama yang kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri,
yaitu input-proses-output. Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat diproses untuk menghasilkan output. “Bambang Wahyudi, SKom., MMSI
Dan Apa sech manfaatnya belajar Algoritma Komputer??? sangat banyak sekali…!!! setiap apapun yang kita kerjakan pasti mengunakan algortima tanpa kita sadari… Semisal: Sebuah truk mengangkut Batu 10 Ton, dengan kecepatan 100 km/jam. berapa waktu yang di perlukan untuk menempuh jarak 500 KM ??
hal ini sebetulnya sangat mudah… cuman kalau kategori yang di butuhkan banyak, atau inputnya sangat banyak.. kalau tidak menggunakan Media komputer kita sangat kwalahan… oleh karena itu kita beljar memahami algoritma alur dari permasalahan di atas lalu kita terapkan dalam dalam program komputer. dan menggunakan Bahasa Pemrogaman.
PERLUNYA PERINTAH BAHASA PEMROGRAMAN DI DALAM ALGORITMA
Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita tidak perlu tahu bahasa pemrograman apa yang akan digunakan kelak, namun, untuk penulisan algoritma yang lebih efisien dan efektif, maka penggunaan sebagian perintah yang ada di dalam bahasa pemrograman perlu dilakukan juga.
Adapun perintah bahasa pemrograman yang paling sering digunakan untuk menyusun algoritma adalah bahasa pemrogrman yang terstrukutur, seperti
Pascal, C, SNOBOL, PL/1, dan sebagainya. Misalkan saja, untuk contoh berikut ini :
Langkah 1 : Beri nilai 10 ke variabel S
Maka, akan lebih mudah jika ditulis sebagai :
Langkah 1 : S := 10;
Belum lagi jika algoritma yang ditulis harus melakukan perulangan langkah
ke langkah-langkah sebelumnya (looping).
10 Mulai I:= 1;
11 Lakukan perbandingan data ke I dengan data ke I+1
12 Jika data ke I+1 lebih kecil, maka tukar tempat keduanya
13 Tambahkan I dengan 1
14 Lakukan langkah 11 hingga langkah 13 selama nilai I < 10
15 selesai
Tentu akan lebih ringkas jika kita tulis (perintah BASIC) :
10 For I= 1 to 10
20 If A(i) > A(I+1) then SWAP A(i), A(j)
30 next
40 end
Jadi terlihat, jika algoritma tersebut sederhana, maka penyusunan algoritma akan sama dengan penyusunan sebuah program (karena semua perintahnya
sudah sesuai dengan kaidah penulisan di bahasa pemrogramannya). Apakah semuanya akan demikian ?. Tentu saja tidak, misalkan, kita diminta untuk menentukan bilangan terkecil dari seratus buah bilangan yang akan dimasukkan ke komputer, ini masih dapat langsung dibuatkan programnya. Algoritma (program)nya bisa kita susun sebagai berikut :
1 DIM A(100)
2 FOR M = 1 TO 100
3 INPUT A(M) : NEXT : KECIL = A(1)
4 FOR M = 2 TO 100
5 IF KECIL > A(M) THEN X = KECIL: KECIL = A(M) : A(M) = X
6 NEXT : PRINT KECIL : END
Tetapi, misalkan jika kita diminta untuk mengalihkan notasi infix menjadi postfix melalui stack, hal itu sulit untuk dilakukan.
Algoritmanya bisa menggunakan gabungan kalimat dengan bahasapemrograman, berikut contoh penggalannya.
Contoh :
1. Asumsi : deretan notasi infix dimasukkan ke dalam sebuah variabel array
bernilai string, nama variabelnya D
2. S adalah variabel string untuk menyimpan susunan data di dalam stack
3. H adalah variabel string untuk menyimpan hasil
4. P = banyaknya elemen array
5. For I = 1 to p
If top(s) = empty then
{top(s) adalah posisi atas stack)
if D(i) = operand then
H = D(i)
Else
S = S + D(i)
Top(s) = D(i)
Endif
Else
If D(i) = operator then
If derajat D(i) > derajat Top(s) then


.. .

Jadi, terdapat beberapa kata yang tidak dapat dijabarkan langsung ke dalam bahasa pemrograman. Misalkan, kata Top(s), empty, operand, operator,
dan derajat.

Algoritma & Pemrograman Dengan Borland C++ (By : Tatang )

 IDE singkatan dari Integrated Development Environtment, merupakan lembar kerja terpadu untuk pengembangan program. IDE dari Borland C++ digunakan untuk : Menulis Naskah Program, Mengkompilasi Program (Compile), Melakukan Pengujian Program (Debugging), Mengaitkan Object dan Library ke Program (Linking) dan Menjalankan Program (Running).

CARA MASUK & MEMULAI BORLAND C++ :
  • Klik Start pilih All Program
  • Pilih Borland C++ 5.02 lalu Klik
  • Klik Menu File – New – Text Edit

Struktur Program C++




#include <File.Header>


main()


{


Pernyataan_program;


}











File Header/Include dasar input output terdiri dari :
#inlude <stdio.h> : scanf, printf, puts
#inlude <conio.h> : getch, clrscr, getche
#inlude <iostream.h> : cout, cin, endl

#inlude <iomanip.h> : setprecision,setw, setiosflags
Contoh:
#include<stdio.h>
#include<conio.h>
main()
{
lrscr();

printf("\nHaloo Apa khabar");
printf("\nPerkenalkan Saya Borland C++");
getch();
}

Menjalankan Program Borland C++ :
  • Alt + F9 (untuk Compile), lalu tekan Ctrl + F9 (Run) atau
  • Pilih Menu Debug – Klik Run (Ctrl + F9)
TIPE –TIPE DATA

Tipe Data
Ukuran Memori
Jangkauan Nilai
Jumlah Digit
Char
1 Byte
-128 s.d 127

Int
2 Byte
-32768 s.d 32767

Short
2 Byte
-32768 s.d 32767

Long
4 Byte
-2147435648 s.d 2147435647

Float
4 Byte
3.4X10-38 s.d 3.4X1038
5-7
Double
8 Byte
1.7X10-308 s.d 1.7X10308
15-16
Long Double
10 Byte
3.4X10-4932 s.d 1.1X104932
19

  1. KONSTANTA

Konstanta adalah suatu nilai yang nilainya tetap. Terbagi menjadi 2 bagian:
    • Konstanta Bilangan
    • Konstanta Text Deklarasi Konstanta:
const nama_konstanta=nilai konstanta;
Contoh: const x= 89;
  1. VARIABEL

Adalah suatu tempat menampung data atau konstanta di memori yang mempunyai nilai atau data yang dapat berubah-ubah selama proses program.

Dalam Pemberian Nama Variabel mempunyai ketentuan antara lain:
    • Tidak boleh ada spasi (contoh: gaji bersih) dan dapat menggunakan tanda garis bawah (_) sebagai penghubung (contoh : gaji_bersih).
    • Tidak Boleh diawali oleh angka dan menggunakan operator Aritmatika.



Tipe Variabel


Simbol deklarasi


Integer


Int


Floating Point


Float


Double Precision


Double


Karakter


Char


Unsigned Integer


Unsigned int


Unsigned Character


Unsigned char


Long Integer


Long int


Unsigned Long Integer


Unsigned long int


Bentuk Penulisan Deklarasi:
Tipe data nama_variabel;

Contoh:
int nama_mahasiswa;
char grade;
float rata_rata;
int nilai;
















  • PERINTAH MASUKAN

scanf(), gets(), cin(), getch(), getche()



Tabel penentu format scanf()



TIPE DATA
Penentu Format untuk printf()
Integer
%d
Floating Point

Bentuk Desimal
%f
Bentuk Berpangkat
%e
Bentuk desimal dan Pangkat
%g
Double Precision
%lf
Character
%c
String
%s
Unsigned Integer
%u
Long Integer
%ld
Long Unsigned Integer
%lu
Unsigned Hexadesimal Integer
%x
Unsigned Octal Integer
%o

OPERATOR BAHASA C++


  1. Operator Aritmatika dikenal sebagai operator binary



Operator
Prioritas
Keterangan
Contoh
*
+ - - Tertinggi
Perkalian
2 * 3
/
-
Pembagian
7 / 2
%
* / %
Sisa pembagian
7 % 2
+
+ - Terendah
Penjumlahan
5 + 4
-

Pengurangan
5 – 4
  1. Operator Penugasan adalah berupa simbol sama dengan (=)

Contoh :

A=1;

B=2+b;

A=2+(b=1)

  1. Operator Penurunan (Decrement) Dan Penaikan (Increment) adalah operator yang digunakan untuk menurunkan dan menaikkan nilai variabel sebesar satu, penempatannya dapat dilakukan di muka atau di belakangnya.

 




Operator


Keterangan


+ +


Operator Penaikkan


- -


Operator Penurunan
Contoh :

X = x + 1; dapat ditulis menjadi + + x;

Y = y – 1; dapat ditulis menjadi y - - ;





  1.   Operator Relasi adalah operator untuk membandingkan dua buah nilai.




    Operator


    Keterangan


    = =


    Sama Dengan ( bukan penugasan)


    !=


    Tidak Sama Dengan


    >


    Lebih Dari


    <


    Kurang Dari


    >=


    Lebih Dari atau Sama Dengan


    <=


    Kurang Dari atau Sama Dengan
  2. Operator Logika adalah digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi yaitu 1 (True) dan 2 atau 0 (false). Operator ini berupa:
    • && (operator logika AND)
    • || (operator logika OR)
    • ! (operator logika NOT)
  1. Operator Bitwise adalah manipulasi data dalam bentuk bit. Borland C++ menyediakan enam buah operator bitwise.
Operator
Keterangan
Contoh
~
Bitwise NOT (bukan)
~25
<<
Geser bit ke kiri (left shift)
25<<2
>>
Geser bit ke kanan (right shift)
25>>2
&
Bitwise AND (dan)
25&2
^
Bitwise XOR
25^2
|
Bitwise OR (atau)
25|2



PENYELEKSIAN KONDISI (IF)



  1. Pernyataan IF

Bentuk Umum :

If (Kondisi )
{
Pernyataan;
}



  1. Pernyataan IF – ELSE

Jika Pemakain If- Else diikuti dengan pernyatan majemuk maka bentuknya :
If (Kondisi )
{ Pernyataan1;
……………; }
Else
{ Pernyataan2;

……………; }
entuk Umum :

If (Kondisi )
Pernyataan1;
Else
Pernyataan2;






  1. Pernyataan NESTED IF

Merupakan pernyataan if berada di dalam pernyataan if yang lainnya, Bentuk Umum :

If (Kondisi)

{

Perintah;

………;

}

Else

{

If (kondisi)

{

Perintah;

……….;

}

Else

{

Perintah;

……….;

}

}

  1. Pernyataan IF – ELSE Majemuk

Bentuk Umum :

if (syarat)

{

… perintah;

… perintah;

}

else if (syarat)

{

… perintah;

… perintah;

}

else

{

… perintah;

… perintah;

}












  1. Pernyataan SWITCH - CASE



switch (ekspresi integer atau karakter )

{

case konstanta-1 :

perintah;

perintah;

break;

case konstanta-2 :

perintah;

perintah;

break;

……

……

default :

perintah;

perintah;

}



PROSES PERULANGAN FOR



B U : for ( inisialisasi; syarat perulangan; peubah nilai pecahan)

Keterangan :

Inisialisasi = nilai awal untuk variable tertentu.

Syarat Perulangan = kontrol terhadap perulangan untuk menentukan

perulangan diteruskan atau berhenti.

Peubah Nilai = mengatur kenaikan atau penurunan nilai.


 Contoh:
#include<stdio.h>

#include<conio.h>

#include"iostream.h"

main()

{

int a;

clrscr();

for(a= 1; a<= 10; ++a)

cout<<a ;

getch();

}

Tampilan : 1 2 3 4 5 6 7 8 9 10
  1. PERNYATAAN WHILE

B U : while ( Syarat )

Pernyataan / Perintah

2. PERNYATAAN DO WHILE
B U : do
{
Pernyataan / Perintah
}
While ( syarat )



Contoh:
*program bil genap*/
#include<stdio.h>
#include<conio.h>
#include"iostream.h"
main()
{
int bil =2;
clrscr();
do
{ printf(" %d ",bil);
bil+=2; }
while ( bil<=14);
getch();
}
Tampilannya :
2 4 6 8 10 12 14

Terima Kasih