Rabu, 27 April 2011

Program java: Himpunan (Prima, Ganjil dan Irisan)

Setelah sebelumnya aku mengsharekan tugas struktur data ku, maka kali ini akau akan mengshare tugas java ku untuk kalian. Walaupun ini merupakan blog tentang bahasa c tapi ini masih dalam konteks bahasa pemrograman, jadi dari pada tugas pemrograman java ku tersimpan percuma di hardisk komputer, aku ingin mengsharenya untuk kalian juga.

Program ini akan menghasilkan tampilan seperti berikut:

Himpunan A (PRIMA) = 2 3 5 7
Himpunan B (GANJIL) = 1 3 5 7 9
Himpunan C (A n B) = 3 5 7

Berikut ini programnya:

/**
 * @author Dwi Ariyanto
 * AMIKOM 2011
 */
public class himpunan {
    public static void main (String [] args) {
        int a, b, c[], d = 0, e = 0, f= 0, ganjil[], prima[];

        c = new int[10];
        ganjil = new int[10];
        prima = new int[10];

        System.out.print("Himpunan A (PRIMA) =");
        for (a = 0; a < c.length; a++) {
            for(b = 1; b <= a; b++) {
                if(a % b == 0)
                    d++;
            }
            if(d == 2) {
                System.out.print(" " +a);
                prima[e] = a;
                e++;
            }
            d = 0;
        }

        System.out.print("\nHimpunan B (GANJIL) =");
        //  himpunan ganjil
        for (a = 0; a < c.length; a++) {
            if (a % 2 == 1) {
                System.out.print(" " +a);
                ganjil[f] = a;
                f++;
              }
        }

        System.out.print("\nHimpunan C (A n B) =");
        for (a = 0; a < e; a++) {
            for (b = 0; b < f; b++) {
                if (prima[a] == ganjil[b]) {
                    //System.out.println("prima " +a+ " = " +prima[a] + " dan ganjil " +b+ " = " +ganjil[b]);
                    System.out.print(" " +prima[a]);
                }
            }
        }
    }
}

Kamis, 21 April 2011

Kalkulator Infix Dengan Menggunakan Bahasa C

Sudah lama tidak meng update blog ku ini. Dari pada isinya itu itu doang maka kali ini aku akan memberikan contoh program bahasa c untuk kalian semua. Sebenarnya ini merupakan tugas yang diberikan dosen struktur data ku, Pak Bayu Setiaji. Dia memberikan tugas untuk mengedit kalkulator postfix yang ia buat agar menjadi kalkulator infix.

Program ini akan menghasilkan tampilan seperti berikut:

Kalkulator Sederhana
Tekan 'q' untuk keluar

: 4
: +
: 4
= 8

Berikut ini programnya:

/*
 * program kalkulator.c
 *
 * versi 1.2
 * sudah tidak perlu menambahkan tanda "="
 * di akhir perhitungan.
 *
 * program untuk menghitung penjumlahan,
 * pengurangan, perkalian dan
 * pembagian.
 *
 * Nama  : Dwi Ariyanto
 * NIM   : 10.11.4088
 * Kelas : S1TI-2H
 *
 * Copyright [c] 2011 Dwi Ariyanto.
 */

 #include
#include

#define MAX 5

int stack[MAX]; // stack
int top; // posisi puncak stack
void push(int i);
int pop(void);

int main(void) {
int a, b, c, d = 0;
char s[80];

top = 0;
system("cls");

printf("Kalkulator Sederhana\n");
printf("Tekan 'q' untuk keluar\n\n");

do {
printf(": ");
gets(s);

switch(*s) {
case '+':
c = '+';
d = top + 1;
break;
case '-':
c = '-';
d = top + 1;
break;
case '*':
c = '*';
d = top + 1;
break;
case '/':
c = '/';
d = top + 1;
break;
case '.':
a = stack[top - 1];
printf("= nilai akhir [ %d ]\n", a);
break;
default:
push(atoi(s));
}

if (top == d) {
d = top - 1;
switch(c) {
case '+':
b = pop();
a = pop();
printf("= %d\n", a + b);
push(a + b);
break;
case '-':
b = pop();
a = pop();
printf("= %d\n", a - b);
push(a - b);
break;
case '*':
b = pop();
a = pop();
printf("= %d\n", a * b);
push(b * a);
break;
case '/':
b = pop();
a = pop();
if(b == 0) {
printf("! pembagian dengan nol\n");
break;
}
printf("= %d\n", a / b);
push(a / b);
break;
case '.':
a = stack[top - 1];
printf("= nilai akhir [ %d ]\n", a);
break;
}
}



} while(*s != 'q');

return 0;
}

void push(int i) {
if(top >= MAX) {
printf("! stack penuh\n");
return;
}
stack[top] = i;
top++;
}

int pop(void) {
top--;
if(top < 0) {
printf("! stack kosong\n");
return 0;
}
return stack[top];
}

Jumat, 18 Maret 2011

Perulangan Do While

Setelah sebelumnya kita mempelajari tentang perulangan While, maka untuk kali ini akan aku lanjutkan untuk yang perulangan Do While. Perulangan Do While tidak jauh berbeda dengan perulangan While yang telah kita pelajari sebelumnya. Pada perulangan While yang telah kita pelajari melakukan eksekusi pada awal dari baris kode dari perulangan While. Jika sejak awal kondisi dari while itu salah maka perulangan while tidak akan menghasilkan apa - apa.

Berbeda dengan perulangan While. Perulangan Do While melakukan eksekusi di akhir baris kode dari perulangan Do While. Jadi meskipun hasil eksekusi dari dari perulangan dari Do While tidak benar perulangan tersebul tetap akan memunculkan hasil dari blok kode namun hanya menghasilkan satu hasil eksekusi saja. Tidak perlu banyak bicara lagi mari menuju ke TKP…!!! he… he… :)

Misal :

Do
{
Printf("Hello World ");
}
While (i <= 0)

Jika i = 1
Hasil eksekusi : Hello World

Do
{
Printf("Hello World ");
}
While (i <= 3)

Jika i = 1
Hasil eksekusi : Hello World Hello World Hello World Hello World

Contoh Program :

/*
 * program tebak angka
 *
 * Dwi Ariyanto, 2011
 * STMIK AMIKOM YOGYAKARTA
 */

#include
#include

int main ()
{
int n = 26, a;  // 26 adalah angka yang akan kita tebak

printf("pilih angka 1 sampai 100");
do
{
printf("\nmasukkan tebakan anda : ");
scanf("%d", &a);
   
if (a > n)
{
printf("tebakan terlalu tinggi");
}
else if (a < n)
{
printf("tebakan terlalu rendah");
}
}
while (a != n);
printf("anda benar");
 
getch ();
}

Perulangan While

Didalam bahasa C perulanga dibagi menjadi 3, yaitu While, Do While, dan For. Masing - masing fungsi mengeksekusi blok dengan yang cara berbeda - beda untuk menghasilkan perulangan. Namun pada kesempatan kali ini kita akan mempelajari khusus untuk perulangan while. Perulangan while melakukan pengeksekusian di awal blok code. Maksudnya jika kondisi dari while itu benar kode blok akan dieksekusi namun apabila salah kode blok tidak akan dieksekusi dan tidak akan menghasilkan nilai apapun dari kode blok.

Misal :

While (i <= 0)
{
Printf("Hello World ");
}

Jika i = 1
Hasil eksekusi : (kosong, tidak menghasilkan nilai apapun

While (i <= 3)
{
Printf("Hello World ");
}

Jika i = 1
Hasil eksekusi : Hello World Hello World Hello World

Contoh Program :

/*
 * program bilangan ganjil 1 sampai 10
 *
 * Dwi Ariyanto, 2011
 * STMIK AMIKOM YOGYAKARTA
 */

#include
#include

int main ()
{
int a = 1;

printf("========== bilangan ganjil antara 1 sampai 10 ==========");
while (a <= 10)  // 10 adalah batas akhir dari peulangan
{
printf("\n%d", a);
a+=2;
}
 
getch();
}

Hasil eksekusi :      ========== bilangan ganjil antara 1 sampai 10 ==========
1
3
5
7
9

Sabtu, 12 Maret 2011

Input Output Dasar

Setelah sebelumnya kita mempelajari Struktur Progam, Tipe Karakter dan Operator Aritmatika, maka kali ini kita akan mempelajari input output dasar pada bahasa C. Untuk membuat program yang berkelas tentunya program yang kita buat harus bisa menerima masukan data dan menghasilkan outputnya. Sebagai contoh: kita membuat program penjumlahan, maka pasti akan ada masukan dan hasil. Tidak mungkin kita membuat program penjumlahan tanpa ada masukan tiba - tiba muncul hasilnya begitu saja. Percuma saja kita membuat program jika kita tidak bisa memasukkan sendiri nilai yang akan kita jumlahkan. Tidak perlu banyak bicara lagi mari kita mempelajari dasar dari Input Output dari bahasa C.


  • Input
Input berasal dari bahasa Inggris yang artinya masukan. Untuk menginputkan data kita cukup menggunakan perintah scanf diikuti kurung buka ( ( ), kemudian petik ganda ( " ), persen ( % ), tipe data (integer ( i), float ( f ), karakter ( c ), string ( s )),  petik ganda ( " ), koma ( , ), dan ( & ) nama data masukan, kurung tutup ( ) ), dan diakhiri titik koma ( ; ).

Misal :

scanf("%s", &nama);

scanf("%i",&umur);

scanf("%f",&berat);


  • Output
Output berasal dari bahasa Inggris yang artinya keluaran. Untuk manapilkan kata atau nilai kita cukup menggunakan perintah printf diikuti kurung buka ( ( ), kemudian petik ganda ( " ), kata atau nilai yang akan kita tampilkan,  petik ganda ( " ), kurung tutup ( ) ), dan diakhiri titik koma ( ; ).

Misal :

printf("Hello World ");

Hasil eksekusi : Hello World

printf("Masukan nama Anda : ");

Hasil eksekusi : Masukan nama Anda :

Sedangkan jika ingin menambahkan nilai atau hasil dari inputan maka menggunakan perintah printf diikuti kurung buka ( ( ), kemudian petik ganda ( " ), kata atau nilai yang akan kita tampilkan, persen ( % ), tipe data (integer ( i), float ( f ), karakter ( c ), string ( s )),  petik ganda ( " ), koma ( , ), nama data, kurung tutup ( ) ), dan diakhiri titik koma ( ; ).

Misal :

printf("Nama : %s", nama);

Jika nama = Ari
Hasil eksekusi : Nama : Ari

printf("nilai dari A = %i", a);

Jika a = 123
Hasil eksekusi :nilai dari A = 123

Operator Aritmatika

Operator aritmatika digunakan untuk melakukan operator matematika. Operator-operator ini dioperasikan terhadap tipe data berupa bilangan. Berikut ini adalah operator matematika pada bahasa C.

operator
penggunaan
Keterangan
+
op1 + op2
Penambahan
*
op1 * op2
Perkalian
/
op1 / op2
Pembagian
%
op1 % op2
Modulo (sisa pembagian)
op1 op2
Pengurangan

operator
penggunaan
Keterangan
++
op++
Menambahkan 1 pada op, mengevaluasi nilai op sebelum ditambahkan
++
++op
Menambahkan 1 pada op, mengevaluasi nilai op setelah ditambahkan
--
op--
Mengurangkan 1 pada op, mengevaluasi nilai op sebelum ditambahkan
--
--op
Mengurangkan 1 pada op, mengevaluasi nilai op setelah ditambahkan

operator
penggunaan
Keterangan
>
op1 > op2
op1 lebih besar dari op2
>=
op1 >= op2
op1 lebih besar atau sama dengan op2
<
op1 < op2
op1 lebih kecil dari op2
<=
op1 <= op2
op1 lebih kecil atau sama dengan op2
==
op1 == op2
op1 sama dengan op2
!=
op1 != op2
op2 tidak sama dengan op2

operator
penggunaan
Keterangan
!
!op
NOT
&&
op1 && op2
AND *
&
op1 & op2
AND
||
op1 || op2
OR *
|
op1 | op2
OR
^
op1 ^ op2
XOR

Tipe Data

  1. Karakter
Tipe data karakter digunakan untuk menangani data berupa karakter-karakter ASCII. Data karakter ditandai dengan penggunakan tanda kutip tunggal ( ' ) yang melingkupi data karakter. Contoh tipe data karakter adalah : 'a', 'A', '1', dsb. Keyword untuk tipe karakter pada bahasa C adalah "char".
Misal :
char a = '1';
Atau
char a;
a = '1';


  1. String
Tipe data string digunakan untuk menangani data berupa gabungan beberapa karakter . Data String ditandai dengan penggunakan tanda kutip ganda ( " ) yang melingkupi data string. Contoh tipe data string adalah : "Hello World". Keyword untuk tipe string pada bahasa C adalah sama seperti karakter (char)  namun harus diberi tambahan tanda kurung kotak( [] ) yang didalamnya diberi jumlah karakter dari tipe data string yang akan diisi.
Misal :
char a[15] = "Hello World";
Atau
char a[15];
a = "Hello World";


  1. Bilangan
Tipe data bilangan digunakan dalam manipulasi penrhitungan aritmatika. Tipe data ini terdiri dari 2 jenis :
  • Bilangan bulat / integer
Contoh tipe data integer adalah : -1, 0, 1, dsb. Keyword untuk tipe integer pada bahasa C adalah "int".
Misal :
int a = 12;
Atau
int a;
a = 12;
  • Bilangan koma / float
Contoh tipe data float adalah : 0.123, 2.34, dsb. Keyword untuk tipe float pada bahasa C adalah "float".
Misal :
float a = 1.23;
Atau
float a;
a = 1.23;

Struktur Program


  1. Preprosesor
  1. Main Function (bagian utama)
  1. Pembuka Blok
  1. Komentar
  1. Perintah
  1. Penutup blok