• Notasi algoritma dapat berupa :
– Uraian kalimat deskriptif (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
____Pseudo-code_______
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)
Minggu, 26 Juni 2011
Algoritma Tukar isi Bejana
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
• 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 :
– Tuangkan larutan dari bejana B ke dalam bejana A.
:: 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.
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
• 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 :
– Tuangkan larutan dari bejana B ke dalam bejana A.
:: 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.
Sabtu, 04 Juni 2011
Contoh algoritma pencocokkan string
Algoritma-algoritma pencocokkan string dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya..

Algoritma brute force dalam pencarian string
Algoritma brute force merupakan algoritma pencocokan string yang ditulis tanpa memikirkan peningkatan performa. Algoritma ini sangat jarang dipakai dalam praktik, namun berguna dalam studi pembanding dan studi-studi lainnya.Cara kerja
Secara sistematis, langkah-langkah yang dilakukan algoritma brute force pada saat mencocokkan string adalah:- Algoritma brute force mulai mencocokkan pattern pada awal teks.
- Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi:
- Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
- Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
- Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks.

Pseudocode
Pseudocode algoritma brute force ini:procedure BruteForceSearch(
input m, n : integer,
input P : array[0..n-1] of char,
input T : array[0..m-1] of char,
output ketemu : array[0..m-1] of boolean
)
Deklarasi:
i, j: integer
Algoritma:
for (i:=0 to m-n) do
j:=0
while (j < n and T[i+j] = P[j]) do
j:=j+1
endwhile
if(j >= n) then
ketemu[i]:=true;
endif
endfor
Kamis, 21 April 2011
Statemen Pengecekan kondisi(IF)
Statement pengecekan kondisi merupakan pengecekan logika apabila benar maka akan dijalankan dan salah maka akan menjalankan program selanjutnya. Jadi secara kasarnya statement pengecekan kondisi adalah merupakan logika pemrograman yang menjadi otak dari pemrograman itu sendiri. Dalam pengecekan kondisi kita dapat membandingkan 1 atau 2 kondisi dengan menggunakan batuan operator logika. bagi yang belum mengerti operator logika baca artikel sebelumnya Operator Dasar dalam C++.
a. Struktur Kondisi IF
Bentuk Source :
If (kondisi)
Pernyataan
Ket :
Apabila kondisi bernilai benar, maka pernyataan dijalankan
Apabila kondisi bernilai salah, maka pernyataan tidak dijalankan
Apabila dalam satu kondisi pengecekan terdapat dua atau lebih pernyataan, maka harus menggunakan { pada pernyataan dan pada akhir pernyataan menggunakan tanda }.
Bentuk Source :
If (kondisi)
{ pernyataan_1;
pernyataan_2;
………………….
pernyataan_n;
}
a. Struktur Kondisi IF ELSE
Dalam kondisi struktur if ….. else terdapat 2 pernyataan yang akan dijalankan. Jika kondisi yang diperiksa bernilai benar maka pernyataan yang pertama akan dijalankan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang akan dijalankan.
Bentuk Source :
If (kondisi)
Pernyataan_1;
Else
Pernyataan_2;
c. Struktur Kondisi IF Bersarang
If bersarang merupakan bentuk dari suatu pernyataan if (atau if-else) berada dalam if itu sendiri. If bersarang mengecek pernyataan dalam if kemudian dilakukan pengecekan lagi sampai selesai melakukan pengecekan.
Bentuk Source :
If (kondisi)
Pernyataan_1;
Else
if(kondisi)
Pernyataan_2;
pernyataan_3;
d. Struktur Kondisi Switch Case
Struktur kondisi ini biasanya digunakan untuk menyelesaikan kondisi dengan kemungkinan terjadi cukup banyak atau secara kasar proses logika yang sama dan kemungkinan logika tersebut banyak. Struktur ini akan melaksanakan salah satu dari beberapa pernyataan case tergantung nilai dari kondisi variabel dalam switch. Selanjutnya proses akan berlangsung atau berlanjut hingga ditemukan pernyataan break. Jika tidak ada nilai kondisi pada case tidak ada yang sesuai dengan kondisi nilai pada switch maka proses yang akan dijalankan adalah baris default. Struktur kondisi ini merupakan penyederhanaan dari struktur kondisi if, dimana apabila terjadi banyak kondisi logika yang sama dan jumlah perbandingan variabelnya banyak sehingga disederhanakan dengan struktur kondisi switch case. Struktur kondisi switch case sering digunakan untuk membuat menu, conversi hari, bulan, dan lain-lain.
Bentuk Source :
switch (kondisi)
{
Case nilai_kondisi1 : {
Pernyataan_1;
Pernyataan_2;
Break;
}
Case nilai_kondisi2 : {
Pernyataan_1;
Pernyataan_2;
Break;
}
………..
………..
Case nilai_kondisin; {
Pernyataan_1;
Pernyataan_2;
Break;
}
Default : pernyataan;
} Contoh Program
/* Program Sederhana Statement Pengecekan Kondisi Dasar Dalam C++
=================================================================
#include <iostream.h>
#include <conio.h>
main()
{
int x; // deklarasi variabel
clrscr(); //clear scren (membersihkan layar)
cout <<”Masukkan Nilai Ujian = “; cin >> x;
//Struktur Kondisi IF Bersarang
if(x>80 && x<=100) //operator logika AND
cout <<”Nilai Ujian Anda A”;
else if(x>65 && x<=80)
cout <<”Nilai Ujian Anda B”;
else if(x>45 && x<=65)
cout <<”Nilai Ujian Anda C”;
else if(x>20 && x<=45)
cout <<”Nilai Ujian Anda D”;
else
cout <<”Nilai Ujian Anda E atau kosong”;
getche();
Menggunakan #include <iostream.h>
/* Program Sederhana Input dan Output menggunakan iostream.h Dasar Dalam C++
===========================================================================
#include <iostream.h>
#include <conio.h>
main()
{
// deklarasi variabel
int umur;
char nama[10];
float tinggi;
clrscr();
cout << “Masukkan nama : “;
cin >> nama; // membaca nilai string
cout << “Masukkan umur : “;
cin >> umur; // membaca nilai integer / decimal
cout <<”Masukkan tinggi : “;
cin >> tinggi; // membaca nilai float / real
cout << “Nilai dari variabel yang anda input : \n”;
cout << “Nama : ” << nama;
cout << “\nUmur : ” << umur;
cout << “\nTinggi : ” << tinggi;
getch();
}
Fungsi input dan output dalam C++
1. Input (Memasukkan Data)
Dengan menggunakan #include <stdio.h> bagi yang belum tahu fungsi stdio.h lihat artikel sebelumnya aturan dan perintah dasar C++
a. Fungsi scanf()
fungsi scanf() berguna untuk meninput data baik berupa bilangan, karakter, ataupun kalimat secara terformat. Berikut format-format yang digunakan untuk scanf() :
%c : Membaca sebuah karakter
%s : Membaca sebuah string
%i, %d : Membaca sebuah bilangan bulat (integer, desimal)
%f, %e : Membaca sebuah bilangan pecahan (real, float)
%o : Membaca sebuah bilangan octal
%x : Membaca sebuah bilangan heksadesimal
%u : Membaca sebuah bilangan tak bertanda
b. Fungsi gets()
fungsi gets() berguna untuk memasukkan data bertipe karakter, tanpa penggunaan format seperti scanf(), dan tidak dapat untuk menginput data numeric ataupun string.
c. Fungsi getchar()
fungsi getchar berguna untuk membaca data yang bertipe karakter.
Dengan menggunakan #include <iostream.h> bagi yang belum tahu fungsi iostream.h lihat artikel sebelumnya aturan dan perintah dasar C++
a. Fungsi cin >> var
fungsi cin >> berguna untuk menginput data berupa numerik, string, dan karakter. Var dapat lebih dari satu variabel (cin >> var >> var) dan dapat berupa karakter.
b. Format : cin.get.(var, sizeof(var)), penggunaan format ini untuk menginput string lebih dari satu kata atau seperti kita menekan spasi, tetapi akan terjadi kesalahan jika satu program digunakan lebih dari satu kali. Dan untuk menangani ini lebih baik menggunakan format cin.getline(var, sizeof(var)).
c. Format : cin.getline(var, sizeof(var)).
2. Output (Menampilkan Data)
Dengan menggunakan #include <stdio.h>
a. Menampilkan output ke layar monitor
Fungsi printf() berguna untuk menampilkan semua jenis data (number, string, dan karakter)
Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan pidah baris (new line).
Fungsi putchar() digunakan untuk menampilkan sebuah karakter.
b. Mengatur tampilan output
Bentuk sintaks :
printf(”%m,nf”, var)
m : Menyatakan banyaknya digit angka
n : Menyatakan banyaknya digit angka dibelakang koma
var : variabel bertipe float yang akan ditampilkan
Contoh
printf(”%5.2f”, nilai); ”berarti yang akan ditampilkan angka sebanyak 5 digit dan 2 digit angka dibelankang koma”
Dengan menggunakan #include <iostream.h>
Menampilkan output ke layar monitor
Bentuk sintaks
cout << var;
cout << konstanta;
Fungsi cout << dapat digunakan untuk menampilkan semua jenis data (numeric dan karakter) yang dapat berupa nilai, karakter ataupun konstanta.
Contoh Program
Menggunakan #include <stdio.h>
/* Program Sederhana Input dan Output menggunakan stdio.h Dasar Dalam C++
=========================================================================
#include <stdio.h>
#include <conio.h>
main()
{
// deklarasi variabel
int umur;
char nama[10];
float tinggi;
clrscr();
printf(“Masukkan nama : “);
scanf(“%s”,&nama); // membaca nilai string
printf(“Masukkan umur : “);
scanf(“%d”,&umur); // membaca nilai integer / decimal
printf(“Masukkan tinggi : “);
scanf(“%f”,&tinggi); // membaca nilai float / real
printf(“Nilai dari variabel yang anda input : \n”);
printf(“Nama : %s\n”, nama);
printf(“Umur : %d\n”, umur);
printf(“Tinggi : %5.2f”, tinggi);
getch();
}
Selasa, 19 April 2011
IF STATEMENT IN C + +
IF Statement
If the statement has an idea "if the condition is true, then the command will dikerjakana and if it does not qualify it will be ignored.
Ex program:
Case: specify the amount of pieces from the purchases of goods provided by a purchaser, with criteria:
1. there is no discount if the total purchases of less than 50,000
2. if the total purchases of more than or equal to 50,000 pieces received by 20% of total purchases.
From the above cases the program can be made as follows:
# include
# include
# include
Void main ()
{
Double tot_beli, bits = 0, jum_bayar = 0;
Court <<"total pemebelian USD. ";
Cin>> tot_beli;
If (tot_beli> = 50 000)
Pieces = 0.2 * tot_beli;
Court <<"size pieces USD. "<<
Jum_bayar = tot_beli - piece;
Court <<"amount to be paid Rp. ";
Court <
Getch ();
}
If the statement has an idea "if the condition is true, then the command will dikerjakana and if it does not qualify it will be ignored.
Ex program:
Case: specify the amount of pieces from the purchases of goods provided by a purchaser, with criteria:
1. there is no discount if the total purchases of less than 50,000
2. if the total purchases of more than or equal to 50,000 pieces received by 20% of total purchases.
From the above cases the program can be made as follows:
# include
# include
# include
Void main ()
{
Double tot_beli, bits = 0, jum_bayar = 0;
Court <<"total pemebelian USD. ";
Cin>> tot_beli;
If (tot_beli> = 50 000)
Pieces = 0.2 * tot_beli;
Court <<"size pieces USD. "<<
Jum_bayar = tot_beli - piece;
Court <<"amount to be paid Rp. ";
Court <
Getch ();
}
Pernyata If dalam C++
Pernyataan IF
Pernyataan If mempunyai pengertian “jika kondisi bernilai benar, maka perintah akan dikerjakana dan jika tidak memenuhi syarat maka akan diabaikan.
Cth program:
Kasus : tentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli,dengan criteria:
1. tidak ada potongan jika total pembelian kurang dari Rp.50.000
2. jika total pembelian lebih dari atau sama dengan Rp.50.000 potongan yang diterima sebesar 20% dari total pembelian.
Dari kasus diatas maka dapat dibuatkan program sebagai berikut:
#include
#include
#include
Void main ()
{
Double tot_beli, potongan = 0, jum_bayar = 0;
Cout< <”total pemebelian Rp. “;
Cin>>tot_beli;
If (tot_beli>=50000)
Potongan = 0.2*tot_beli;
Cout<<”besarnya potongan Rp. “<<
Jum_bayar = tot_beli – potongan;
Cout<<”jumlah yang harus dibayar Rp. “;
Cout<
Getch();
}
Pernyataan If mempunyai pengertian “jika kondisi bernilai benar, maka perintah akan dikerjakana dan jika tidak memenuhi syarat maka akan diabaikan.
Cth program:
Kasus : tentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli,dengan criteria:
1. tidak ada potongan jika total pembelian kurang dari Rp.50.000
2. jika total pembelian lebih dari atau sama dengan Rp.50.000 potongan yang diterima sebesar 20% dari total pembelian.
Dari kasus diatas maka dapat dibuatkan program sebagai berikut:
#include
#include
#include
Void main ()
{
Double tot_beli, potongan = 0, jum_bayar = 0;
Cout< <”total pemebelian Rp. “;
Cin>>tot_beli;
If (tot_beli>=50000)
Potongan = 0.2*tot_beli;
Cout<<”besarnya potongan Rp. “<<
Jum_bayar = tot_beli – potongan;
Cout<<”jumlah yang harus dibayar Rp. “;
Cout<
Getch();
}
Senin, 18 April 2011
Deklarasi Array
Array pada C# bisa dideklarasikan dengan cara-cara di bawah ini.
atau
Jika dijalankan akan menghasilkan output seperti di bawah ini.
Array multidimensi juga bisa dideklarasikan sebagai jagged arrays (seperti pada Java). Artinya, masing-masing baris tidak memiliki ukuran yang sama.
Output:
- Array satu dimensi (one-dimensional arrays)
01// Deklarasi array satu dimensi02int[] array1 =newint[10];03int[] array2 =newint[] { 1, 2, 3 };04int[] array3 = { 4, 5, 6, 7, 8 };0506Console.WriteLine("Banyak elemen di array1: {0}", array1.Length);0708Console.WriteLine("array2");09for(inti = 0; i < array2.Length; i++) Console.WriteLine(array2[i]);1011Console.WriteLine("array3");12for(inti = 0; i < array3.Length; i++) Console.WriteLine(array3[i]);
Jika dijalankan akan menghasilkan output seperti di bawah ini.
01Banyak elemen di array1: 1002array203104205306array3074085096107118
1 | // Deklarasi array multidimensi |
2 | int[,] array4 = new int[2, 3]; |
atau
1 | int[,] array5 = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 } }; |
2 | foreach (int idx in array5) Console.WriteLine("{0}", idx); |
Jika dijalankan akan menghasilkan output seperti di bawah ini.
1 | array5 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
7 | 6 |
8 | 7 |
9 | 8 |
Array multidimensi juga bisa dideklarasikan sebagai jagged arrays (seperti pada Java). Artinya, masing-masing baris tidak memiliki ukuran yang sama.
01 | // Jagged (seperti di Java) |
02 | int[][] array6 = new int[2][]; |
03 | array6[0] = new int[3] { 1, 2, 3 }; |
04 | array6[1] = new int[4]; |
05 |
06 | Console.WriteLine(); |
07 | Console.WriteLine("Banyak baris array6: {0}", array6.Length); |
08 | for (int i = 0; i < array6[0].Length; i++) Console.WriteLine(array6[0][i]); |
09 |
10 | Console.WriteLine("Banyak elemen pada array6[1]: {0}", array6[1].Length); |
Output:
1 | Banyak baris array6: 2 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | Banyak elemen pada array6[1]: 4 |
struktur percabangan
Pemrograman Java mengenal dua macam struktur percabangan yaitu if dan switch.
if (kondisi) {………..}
Anda juga dapat menggunakan kata kunci else
if (kondisi) {………..} else {………..}
Jika terdapat lebih dari dua kondisi dapat menggunakan struktur percabangan berikut ini.
if (kondisi) {………..} else if(kondisi2){………..} else {………..}
Sebagai contoh kita akan membuat program yang meminta input user berupa umur dari user, kemudian jika umur lebih besar sama dengan 17 maka tampilkan “anda sudah dewasa”, jika lebih kecil sama dengan 5 tahun maka tampilkan “anda masih balita !!!”, dari umur 6-16 tampilkan “anda masih di bawah umur”. Di sini kita menggunakan package java.io di mana terdapat class java.io.BufferedReader yang membantu kita dalam meminta input dari user. Input user akan diterima berupa string, yang kemudian akan dikonversi ke dalam tipe data numerik. Namun jika user menginput karakter bukan angka dapat mengakibatkan kesalahan pada saat pengkonversian antar tipe data, di sini terjadi yang disebut dengan exception. Kita akan mencoba memberi penanganan di sini.
import java.io.*;public class LatihanIF{public static void main(String[] args) throws IOException{InputStreamReader in = new InputStreamReader(System.in);BufferedReader rd = new BufferedReader(in);String input = null;int umur = 0;
System.out.println("Masukkan umur anda : ");input = rd.readLine();umur = Integer.parseInt(input); //konversi ke integerif(umur>=17){System.out.println("Anda sudah dewasa");}else if(umur>5){System.out.println("Anda masih belum cukup umur");}else {System.out.println("Anda masih balita !!!");}}}
Pada program di atas input dari user di dapat dari fungsi readLine yang mengembalikan nilai berupa string hasil inputan user.
Selain menngunakan if percabangan juga bisa menggunakan switch case :
switch( switch_expression ){case case_selector1:statement1; //statement2; //block 1. . . //break;case case_selector2:statement1; //statement2; //block 2. . . //break;. . .default:}statement1; //statement2; //block n. . . //break;
Perulangan/Loop
Struktur perulangan pada Java adalah sebagai berikut :
int i;for(i=0;i<10;i++){System.out.println(“Hello”);}
Pastikan variabel yang digunakan dalam perulangan sudah dideklarasikan. Di sini nilai i dimulai dari 0, selama i<10, maka proses di dalam scope {} akan terus diulang, di mana setiap perulangannya nilai i ditambah 1 ( i++ ). Berarti nilai I berturut-turut tiap loopingnya adalah 0,1,2,3,4,5,6,7,8,9. Sebanyak 10 kali perulangan dilakukan, pada layar akan tampil output teks “Hello” dicetak 10 kali.
for(int i=0;i<10;i++){System.out.println(“Hello”);}
Selain itu format di atas juga dapat dipakai. Pada bagian di atas ini, perulangan dilakukan dengan langsung mendeklarasikannya dalam initial value. Selain penggunaan for masih ada format perulangan dengan do-while dan while. Dengan menggunakan do-while.
int i=0;do {System.out.println(i);i++;}while(i<10);
Dengan menggunakan while
int i=0;while (i<10){System.out.println(i);i++;};
Pastikan melakukan penambahan atas nilai i, jika tidak maka nilai i selalu 0 dan tidak berubah sehingga kondisi pada while selalu benar. Hal ini akan mengakibatkan perulangan yang tiada hentinya.
Contoh program menggunakan piramida menggunakan for :
import java.io.*;
import java.lang.*;
public class piramid{
public static void main(String[] arg) throws IOException
{
BufferedReader baca=new BufferedReader(new InputStreamReader(System.in));
int i,p;
String h;
System.out.println("________________________________________\n! !");
System.out.print("!Masukkan Jumlah Tingkat Piramida : ");
p=Integer.parseInt(baca.readLine());
System.out.println("! * !");
h="*";
for (i=1; i
h=h+"*";
System.out.println("! "+h+" !");
}
System.out.print("!_______________________________________! >>faQie");
}
}
Langganan:
Postingan (Atom)

