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];
}