HOME

Kamis, 12 April 2012

PALINDROM

Semoga program ini bermanfaat...

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
int pertama,terakhir,i,bantu=1;
char input[100];
clrscr();
printf("\n+++++++++PROGRAM PALINDROM+++++++++");
printf("\n===================================");
printf("\nMasukkan kata/Kalimat    :");
gets(input);
pertama=0;
terakhir=strlen(input)-1;
printf("\nawal\t\takhir");

for(i=0;i<=terakhir;i++){
printf("\n%c\t--\t%c",input[i],input[terakhir-i]);
}

while(pertama<=terakhir){
if(input[pertama]!=input[terakhir])bantu=0;
pertama++;
terakhir--;
}
if(bantu==1)
{
printf("\n\npalindrom!!!");
getch();
}
else
{
printf("\n\nbukan palindrom!!!");
getch();
}
exit(1);
}


***Selamat mencoba ^_^ GBU***

MATRIKS GANJIL, GENAP, TRANSPOSE, PENJUMLAHAN, DAN PENGURANGAN

Semoga program ini bermanfaat...

#include <stdio.h>
#include <conio.h>
void main(){
int a[2][2],b[2][2],x[2][2],y[2][2];
int rowMatriks = 0;
int i,j;
int matriksGenap[100][1];
int matriksGenapkl[100][1];
int row = 0;
int matriksGanjil[100][1];
int matriksGanjilkl[100][1];
int baris = 0;

printf("Input Matrix A");
for (i=0;i<2;++i){
for (j=0;j<2;++j)

{printf("\nMasukan Matrik Elemen [%d,%d]= ",i,j);scanf("%d",&a[i][j]);
}
}

{printf("\nMatriks A : ");printf("\n");}
for (i=0;i<2; ++i){
for (j=0;j<2; ++j){
printf("\t%d",a[i][j]);
}
printf("\n");
}

for(i = 0; i < 2; ++i){
for(j = 0; j < 2; ++j){
if(a[i][j] % 2 == 0) ++rowMatriks;
}
}

for(i = 0; i < 2; ++i){
for(j = 0; j < 2; ++j){
if(a[i][j] % 2 == 0) {
matriksGenap[row][0] = a[i][j];
++row;
}
}
}

printf("Transpose\n");printf("\n");
for (i=0; i<2; i++)
{
for(j=0;j<2;j++)
{
printf("\t%d",a[j][i]);
}
printf("\n");
}

printf("\nHasil Matriks Genap A : ");printf("\n");
for(i = 0; i < row; ++i){
printf("\t%d",matriksGenap[i][0]);
printf("\n");
}

for(i = 0; i < 2; ++i){
for(j = 0; j < 2; ++j){
if(a[i][j] % 2 == 1) {
matriksGanjil[baris][0] = a[i][j];
++baris;
}
}
}

printf("\nHasil Matriks Ganjil A : ");printf("\n");
for(i = 0; i < baris; ++i){
printf("\t%d",matriksGanjil[i][0]);
printf("\n");
}
printf("\n");

printf("Input Matrix B");
for (i=0;i<2;++i){
for (j=0;j<2;++j)

{printf("\t\nMasukan Matrik Elemen[%d,%d]=",i,j);
scanf("%d",&b[i][j]);
}
}
{
printf("\nMatriks B : \n");}
for (i=0;i<2;++i){
for (j=0;j<2;++j){
printf("\t%d",b[i][j]);
}
printf("\n");
}

for (i= 0; i < 2; ++i){
for(j = 0; j < 2; ++j){
if(b[i][j] % 2 == 0) ++rowMatriks;
}
}

for(i = 0; i < 2; ++i)
{for(j = 0; j < 2; ++j)
{if(b[i][j] % 2 == 0) {
matriksGenapkl[row][0] = b[i][j];
++row;
}
}
}
printf("Transpose\n");printf("\n");
for (i=0; i<2; i++)
{
for(j=0;j<2;j++)
{
printf("\t%d",b[j][i]);
}
printf("\n");
}

printf("\nHasil Matriks Genap B : ");printf("\n");
for(i = 2; i < row; ++i){
printf("\t%d",matriksGenapkl[i][0]);
printf("\n");
}

for(i = 0; i < 2; ++i){
for(j = 0; j < 2; ++j){
if(b[i][j] % 2 == 1){
matriksGanjilkl[baris][0] = b[i][j];
++baris;
}
}
}
printf("\nHasil Matriks Ganjil B : ");printf("\n");
for(i = 2; i < baris; ++i){
printf("\t%d",matriksGanjilkl[i][0]);
printf("\n");
}
getch();

for(i=0;i<2;i++){
for(j=0;j<2;j++){
x[i][j]=a[i][j]+b[i][j];
y[i][j]=a[i][j]-b[i][j];
a[i][j]=a[i][j]*b[i][j];}
}

printf("\n");
{printf("\nHasil Penjumlahan Matriks A + Matriks B : \n");}
for (i=0;i<2;++i){
for (j=0;j<2;++j){
printf("\t%d",x[i][j]);
}
printf("\n");
}

{printf("\nHasil Pengurangan Matriks A - Matriks B : \n");}
for(i=0;i<2;i++){
for(j=0;j<2;j++){
printf("\t%d",y[i][j]);
}
printf("\n");
}
}


***Selamat mencoba ^_^ GBU***

PENJUMLAHAN DAN PENGURANGAN

Semoga program ini bermanfaat...

#include<stdio.h>
#include<String.h>
#include<conio.h>
int a,b,hasil_jumlah, hasil_kurang;

void main(){

int p;
int pilihan;

program:
clrscr();
printf("\n========MENU AWAL==========\n");
printf("1. PENJUMLAHAN\n");
printf("2. PENGURANGAN\n");
printf("===========================\n");

printf("\nPilihan Anda: "); scanf("%d", &pilihan);

switch(pilihan)
{
case 1:
printf("Masukkan Angka Pertama: \t");scanf("%d",&a);
printf("Masukkan Angka Kedua: \t\t");scanf("%d",&b);
printf("___________________________________+\n");
hasil_jumlah= a+b;
printf("hasil penjumlahan: \t\t%d", hasil_jumlah);
printf("\n\n---------MENU PENJUMLAHAN---------\n");
printf("\n\t<tekan tombol apa saja untuk kembali ke menu.>");
getch();clrscr();goto program;

case 2:
printf("Masukkan Angka Pertama: \t");scanf("%d",&a);
printf("Masukkan Angka Kedua: \t\t");scanf("%d",&b);
printf("___________________________________-\n");
hasil_kurang= a-b;
printf("hasil Pengurangan: \t\t%d", hasil_kurang);
printf("\n\n---------MENU PENGURANGAN---------\n");
printf("\n\t<tekan tombol apa saja untuk kembali ke menu.>");
getch();clrscr();goto program;

}
}

***Selamat Mencoba ^_^ GBU***

POINTER

 Semoga program ini bermanfaat...

#include<stdio.h>
int a, b;
float hasil_jumlah, hasil_kurang,  hasil_kali,  hasil_bagi;
int var = 0;
int *ptr;

void main(){
{
printf("Program +-*/\n");
printf("Pilih Menu \n");
printf("1. Penjumlahan\n");
printf("2. Pengurangan\n");
printf("3. Perkalian\n");
printf("4. Pembagian\n");
printf("5. Exit\n");

}

int p;
printf("\nPilihan Anda: ");scanf("%d", &p);

if(p==1)
{
ptr = &var;
printf("Masukkan Angka Pertama: ");scanf("%d",&a);
printf("Masukkan Angka kedua: ");scanf("%d",&b);
printf("hasil dari funtion yang tidak menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_jumlah= a+b;
printf("\nhasil penjumlahan tanpa pointer dalam fungsi: %4.2f", hasil_jumlah);
printf("\nhasil setelah penjumlahan tanpa pointer diluar fungsi: %4.2f", *ptr);
printf("\n\nhasil dari funtion yang menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_jumlah= a+b;
printf("\nhasil penjumlahan tanpa pointer dalam fungsi: %4.2f", hasil_jumlah);
printf("\nhasil setelah penjumlahan tanpa pointer diluar fungsi: %4.2f", hasil_jumlah);
}

if(p==2)
{
ptr = &var;
printf("Masukkan Angka Pertama: ");scanf("%d",&a);
printf("Masukkan Angka kedua: ");scanf("%d",&b);
printf("hasil dari funtion yang tidak menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_kurang= a-b;
printf("\nhasil pengurangan tanpa pointer dalam fungsi: %4.2f", hasil_kurang);
printf("\nhasil setelah penjumlahan tabpa pointer diluar fungsi: %4.2f", *ptr);
printf("\n\nhasil dari funtion yang menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_kurang= a-b;
printf("\nhasil pengurangan tanpa pointer dalam fungsi: %4.2f", hasil_kurang);
printf("\nhasil setelah penjumlahan tabpa pointer diluar fungsi: %4.2f", hasil_kurang);
}

if(p==3)
{
ptr = &var;
printf("Masukkan Angka Pertama: ");scanf("%d",&a);
printf("Masukkan Angka kedua: ");scanf("%d",&b);
printf("hasil dari funtion yang tidak menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_kali= a*b;
printf("\nhasil perkalian tanpa pointer dalam fungsi: %4.2f", hasil_kali);
printf("\nhasil setelah penjumlahan tanpa pointer diluar fungsi: %4.2f", *ptr);
printf("\n\nhasil dari funtion yang menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_kali= a*b;
printf("\nhasil pengurangan tanpa pointer dalam fungsi: %4.2f", hasil_kali);
printf("\nhasil setelah penjumlahan tabpa pointer diluar fungsi: %4.2f", hasil_kali);
}
if(p==4)
{
ptr = &var;
printf("Masukkan Angka Pertama: ");scanf("%d",&a);
printf("Masukkan Angka kedua: ");scanf("%d",&b);
printf("hasil dari funtion yang tidak menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_bagi= a/b;
printf("\nhasil pembagian tanpa pointer dalam fungsi: %4.2f", hasil_bagi);
printf("\nhasil setelah penjumlahan tanpa pointer diluar fungsi: %4.2f", *ptr);
printf("\n\nhasil dari funtion yang menggunakkan pointer");
printf("\nhasil awal: %4.2f", var);
hasil_bagi= a/b;
printf("\nhasil pengurangan tanpa pointer dalam fungsi: %4.2f", hasil_bagi);
printf("\nhasil setelah penjumlahan tabpa pointer diluar fungsi: %4.2f", hasil_bagi);
}
if(p==5){
}
}

***Selamat mencoba ^_^ GBU***

LINKED LIST

Semoga program ini bermanfaat..

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct node {
int info;
struct node *next;
};


typedef struct node NODE;
typedef NODE* PTRNODE;

PTRNODE PtrAwal = NULL, tPtr;

void tambahAwal(PTRNODE *Ptr, int Value)
{
PTRNODE newPtr;
newPtr = (NODE *) malloc(sizeof(NODE));
newPtr->info = Value;
newPtr->next = *Ptr;
*Ptr = newPtr;
}


void tambahAkhir(PTRNODE *Ptr, int Value){
PTRNODE prevPtr = *Ptr, nowPtr = *Ptr, newPtr;
newPtr = (NODE *) malloc(sizeof(NODE));
newPtr->info = Value;
newPtr->next = NULL;
while (nowPtr != NULL) {
prevPtr = nowPtr;
nowPtr = nowPtr->next;
}


if (prevPtr == NULL)
*Ptr = newPtr;
else
prevPtr->next = newPtr;
}


void InsertOrder(PTRNODE *Ptr, int Value)
{
PTRNODE prevPtr = *Ptr, nowPtr = *Ptr, newPtr;
newPtr = (NODE *) malloc(sizeof(NODE));
newPtr->info = Value;
newPtr->next = NULL;
while (nowPtr != NULL && Value > nowPtr->info) {
prevPtr = nowPtr;
nowPtr = nowPtr->next;
}


if (prevPtr == NULL) {
newPtr->next = *Ptr;
*Ptr = newPtr;
}
else {
prevPtr->next = newPtr;
newPtr->next = nowPtr;
}
}


PTRNODE Cari(PTRNODE Ptr, int Value)
{
PTRNODE cariPtr = Ptr;
int Ketemu = 0;
while (cariPtr != NULL && Ketemu == 0) {
if (cariPtr->info == Value)
Ketemu = 1;
else
cariPtr = cariPtr->next;
}
return cariPtr;
}


PTRNODE PtrSebelum(PTRNODE Head, PTRNODE Ptr)
{
PTRNODE nowPtr = Head, prevPtr = NULL;
while (nowPtr != Ptr) {
prevPtr = nowPtr;
nowPtr = nowPtr->next;
}
return prevPtr;
}


void Hapus(PTRNODE *Ptr, int Value)
{
PTRNODE nowPtr, prevPtr, tPtr;
nowPtr = Cari(*Ptr, Value);
if (nowPtr != NULL) {
prevPtr = PtrSebelum(*Ptr, nowPtr);
if (prevPtr == NULL) {
tPtr = *Ptr;
*Ptr = (*Ptr)->next;
free(tPtr);
}
else {
prevPtr->next = nowPtr->next;
free(nowPtr);
}
}
}


void Cetak(PTRNODE Ptr)
{
int i =0;
while (Ptr != NULL) {
i++;
printf("%i   "  ,  Ptr->info);
Ptr = Ptr->next;
}
}


void main(){
int pil;

menu :
clrscr();
printf("+------------------------------------+\n");
printf("|            Menu Utama:             |\n");
printf("+------------------------------------+\n");
printf("| 1. Masukan Data                    |\n");
printf("| 2. Lihat                           |\n");
printf("| 3. Tambah Di Awal                  |\n");
printf("| 4. Tambah Di Belakang              |\n");
printf("| 5. Hapus Data                      |\n");
printf("+------------------------------------+\n\n");
printf("+------------------------------------+\n");
printf("|          Pilihan Anda : ?          |\n");
printf("+------------------------------------+\n");
scanf("%i", &pil);

switch (pil){

case 1 :
{
char lanjut = 'n';
int data;

do{
printf("\nMasukan Data : ");
scanf("%i", &data);
printf("lagi (y/n) :  ");
scanf("%s", &lanjut);
tambahAkhir(&PtrAwal,data);
}
while(lanjut != 'n');
goto menu;
}

case 2 :
{
Cetak(PtrAwal);
getch();
goto menu;
}

case 3 :
{
int data;
printf("Masukan data : ");
scanf("%i", &data);
tambahAwal(&PtrAwal, data);
getch();
goto menu;
}

case 4 :
{
int data;
printf("Masukan Data : ");
scanf("%i", &data);
tambahAkhir(&PtrAwal,data);
getch();
goto menu;
}

case 5 :
{
int data;
printf("Hapus data ke : ");
scanf("%i", &data);
Hapus(&PtrAwal, data);
getch();
goto menu;
}

}
}

***Selamat mencoba ^_^ GBU***

Selasa, 06 Desember 2011

Sejarah Komputer


SEJARAH KOMPUTER

  • Generasi Pertama ( 1944 - 1958 )
Komputer generasi pertama masih berupa media I/O berupa kartu berlubang ( punched card ) dan pita magnetik ( magnetic tape ). Memori utamanya dari ratusan tabung hampa. Perangkat lunak nya ditulis dengan menggunakan machine language/assembly language. Contoh dari komputer generasi pertama adalah ENIAC dan UNIVAC I ( Universal Automatic Computer ). ENIAC ( Electronic Numerical Integrator and Komputer ) mulai dioperasikan pada tahun 1946. ENIAC membutuhkan 18.000 tabung hampa ukuran bola lampuuntuk mengontrol arus listrik. Beratnya sekitar 30 ton, dan mampu melakukan kalkulasi ilmiah termasuk perkalian 4 angka dalam 9 milliseconds. Dibawah ini gambar ENIAC.
  • Generasi Kedua ( 1959 - 1963 )
Dimulai pada tahun 1948 pada saat penemuan transistor. Transistor mulai digunakan komputer pada tahun 1956. Awal 1960-an, muncul generasi komputer kedua. Keuntungan dari komputer ini antara lain :
  1. Kemunculan Bahasa Pemrograman Common Business Oriented Language ( COBOL ) dan Formula Translator ( FORTRAN ).
  2. Komputer dapat mencetak faktur pembelian, menjalankan design produk, dan dapat menghitung daftar gaji.
  3. Memberikan fleksibilitas kepada komputer yang meningkatkan kinerja.
  • Generasi Ketiga ( 1964 - 1970 )

Integrated Circuit ( IC ) yang memadukan transistor dan komponen lain pada chip silicon yang kecil, yang menggantikan sirkit transistor tradisional. Penyimpanan komputer ini juga semakin luas. Mendukung multiprograming, mendukung timesharing dan munculnya sistem opeasi.

  • Generasi Komputer keempat ( 1971 - sekarang )
Pada tahun 1971, Ted Hoff ( Silicon Valley : intel ), mengembangkan microprocessor yang mempaketkan CPU, memory, logic, dan control circuit pada sebuah chip tunggal. Kemudian pada pertengahan 1770-an, perakit menawarkat produk komputer mereka ke masyarakat yaitu mini komputer. Piranti lunak yang sangat popular saat itu adalah program word processing dan spreadsheet.

  • Generasi Kelima ( sejak 1990-an )
Merupakan komputer impian masa depan. Komponen yang digunakan adalah VLSI ( Very Large Scale Integration ). Komputer generasi kelima ini diharapkan dapat menterjemahkan bahasa manusia, dapat melakukan diagnosa penyakit yang lebih akurat dsb.