shoutbox

Share Link

http://yusuf-facrony.uni.cc Mari saling tukar menukar link.. silahkan copy kode diatas, saya juga akan link balik anda, thanks
Tampilkan postingan dengan label Programming. Tampilkan semua postingan
Tampilkan postingan dengan label Programming. Tampilkan semua postingan
Sabtu, 22 Januari 2011

postheadericon Algoritma & Flowchart


Belajar algorithma & flowchart sangat menyenangkan, bagi yang belum suka sama algorithma, mungkin setelah membaca artikel ini bisa mengerti tentang algorithma & flowchart

Definisi
Algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.

Algoritma Dalam Kehidupan
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain.

Bahasa Pemrograman
Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa pemrograman adalah : Pascal, C++, Basic, dll. Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen.

Flowchart

Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar.

Dalam menggambar flowchart, digunakan simbol tertentu seperti gambar 1.1. Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut. Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah seperti gambar 1.2.

Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. Untuk itu kita harus membuat flowchart seperti ini gambar 1.3.

Pseudo Code
Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula, pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll. Perhatikan kode dibawah ini :

  1. Mulai
  2. Masukkan sebuah angka
  3. Masukkan sebuah angka dan tampilkan
  4. Ambil angka yang sebelumnya dan tampilkan
  5. Selesai

Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk “angka yang sebelumnya”. Apakah angka yang pertama atau yang kedua. Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut :

  1. Start
  2. Masukkan A
  3. Masukkan B, Tampilkan B
  4. Tampilkan A
  5. End

Pseudo Code diatas lebih baik dibandingkan sebelumnya. Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2

  1. Start
  2. Masukkan A dan B
  3. C = A + B
  4. Tampilkan C
  5. End

postheadericon Membuat Piramid Bintang dg Pascal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
program bintang_piramid;
uses wincrt;

var c,a,b,n : integer;
begin
write ('masukkan angka : ');readln(n);
writeln;
if n mod 2 = 0 then
for a := 1 to (n div 2) do begin
for b := 1 to (n div 2)-a do
write (' ');
for c := 1 to (a*2) do
write ('*');
writeln;
end
else
for a := 1 to (n div 2)+1 do begin
for b := 1 to (n div 2)+(1-a) do
write (' ');
for c := 1 to (a*2)-1 do
write ('*');
writeln;
end;
end.

keluaran:
masukkan jumlah bintang terbawah : 9

*
***
*****
*******
*********

masukkan jumlah bintang terbawah : 8

**
****
******
********

saya membuatnya disertai dengan percabangan karena bila jumlah bintang terbawah yang dimasukkan genap maka yang paling atas juga akan genap dan jika yang dimasukkan ganjil maka yang paling atas juga akan ganjil

logika.

pertama masukkan jumlah bintang terbawah yang diinginkan contoh yang dimasukan adalah 8.
8 div 2 = 0 maka
baris yang yang ada pada piramid adalah setengah dari bintang yang dimasukkan kecuali bila bintang yang paling bawah adalah ganjil, maka tinggi atau barisnya adalah ½ alas+1,kerena bintang piramid berbentuk segitiga samakaki.

jadi pertama kita membuat perulangan untuk membuat baris dengan menggunakan perulangan for a :1 to (n div 2) do, karena saya menggunakan (n/2)tidak mau,jadi saya menggunakan n div 2 karena variabel n yang saya masukkan adalah integer. dan hasil n div 2 pasti integer.

setelah kita membuat perulangan untuk baris,selanjutnya kita membuat perulangan untuk baris kanan yang tidak terisi dan perulangan untuk bintang yang akan dimunculkan.

yaitu dengan cara begin for b: 1 to (n div 2)-a do write (‘ ‘);

for c: 1 to (a*2) do write (‘*’); writeln;

perulangan untuk baris, sebanyak (n div 2) yaitu 8 div 2 = 4. jadi akan ada 4 perulangan untuk baris

Perulangan untuk baris yang pertama adalah.

n =8
a =1
=(n div 2)-a
=(8 div 2)-1
= 4-1
= 3
b =1 to (n div 2)-a = 1 to 3 do write (‘ ‘)

jadi tampil sepasi 3x atau sepasi tigakali,setelah itu

c= 1 to (1*2)=1 to 2 do write (‘*’)

jadi disampingnya 3 sepasi tadi terdapat dua bitang berjejeran,yang berarti puncak dari piramid tersebut adalah dua bintang. setelah itu program membaca writeln yang berarti ganti baris.

perulangan untuk baris ke2 adalah .

n =8

a =2

= (n div 2)-a

= (8 div 2)-2

= 4-2

= 2

b =1 to (n div 2)-a = 1 to 2 do write (‘ ‘)

jadi tampil sepasi 2x, setelah itu

c = 1 to (2*2)= 1 to 4 do write (‘*’)

jadi disamping 2 sepasi terdapat 4 bintang berjejeran,setelah itu program membaca writeln yang berarti ganti baris.

perulangan untuk baris ke3 adalah.

n =8

a =3

= (n div 2)-a

= (8 div 2)-3

= 4-3

= 1

b =1 to (n div 2)-a = 1 to 1 do write (‘ ‘) jadi tampil sepasi 1x, setelah itu

c = 1 to (3*2)= 1 to 6 do write (‘*’)

jadi disamping 1 sepasi terdapat 6 bintang berjejeran,setelah itu program membaca writeln yang berarti ganti baris.

perulangan untuk baris ke4 adalah.

n =8

a =3

= (n div 2)-a

= (8 div 2)-4

= 4-4

= 0

b =1 to (n div 2)-a = 1 to 0 do write (‘ ‘)

jadi tidak ada sepasi, setelah itu

c = 1 to (4*2)= 1 to 8 do write (‘*’)

jadi terdapat 8 bintang berjejeran,setelah itu program membaca writeln yang berarti ganti baris.

karena dalam perulangan cuma sampai (n div 2) atau 4, jadi perulangan akan berhenti dan didapatkan tampilan seperti ini

**
****
******
********

yang ganjilpun sama logikanya. tinggal memasukkan angka didalam variabel-variabel yang sudah saya buat. Silahkan dicoba sendiri untuk pembuktian jumlah bintang ganjil.
Demikian program piramid yang saya buat. mungkin masih ada cara lain, tapi ini program yang saya logika sendiri. dan saya tunggu saran dan kritiknya di @mail. saipul_bahrie@yahoo.co.id

sumber : latihan soal Algoritma dan Pemrograman penerbit Andi.

postheadericon Tutorial C++

http://1.bp.blogspot.com/_qwhTePppZsw/TBjUOcyZTsI/AAAAAAAAAIA/lH4tTCIr0C8/s1600/TURBO-C%2B%2B.png

Bab I – II :
C/C++ introduction, OOP (object oriented programming), C++ compiler, Hello Worlds…, main(), statements, header file, clearing the screen, writing comments. [download]

Bab III :
C++ basic elements: identifier, data types, variable declaration, const, assignment. [download]

Bab IV-V :
Operator, statement, input, output [download]

Bab VI :
Control statements: IF, S W I T C H, FOR, WHILE, DO WHILE [download]

Bab VII-VIII :
Functions, String [download]

Bab IX-X :
Array, Struktur [download]

Bab XI :
Materi: Operasi File [download]

Bab XII :
Class [download]

credit by whitehat@devilzc0de.org