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***
Live to Alive
Kamis, 12 April 2012
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***
#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***
#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***
#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***
#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 :
- Kemunculan Bahasa Pemrograman Common Business Oriented Language ( COBOL ) dan Formula Translator ( FORTRAN ).
- Komputer dapat mencetak faktur pembelian, menjalankan design produk, dan dapat menghitung daftar gaji.
- 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 )
- Generasi Kelima ( sejak 1990-an )
Langganan:
Postingan (Atom)