interface and toc
Oktober 7, 2008 at 6:03 am | In Uncategorized | Leave a Commentini yang udah aku buat….
pertama sort.h
/* file : sort.h*/
#ifndef sort_H
#define sort_H
#define IdxMin 1
#define IdxMax 100
typedef struct
{
int DD;
int MM;
int YYYY;
} tanggal;
typedef struct
{ char name[];
int Size;
tanggal date;
jam J;
} data;
void SortName (data *N);
void SortDate (data *N);
void SortUkuran (data *N);
#endif
lalu file sort.c
/* file : sort*/
#include <stdio.h>
#include <stdlib.h>
#include “sort.h”
#include “jam.h”
void SortName ()
{
char *name[];/*array of namafile*/
char *temp;
int x,a,b;
for(a=0;a<IdxMax-1;a++)
for(b=a+1;b<IdxMax;b++)
{
if(*name[a] > *name[b]) /* masih ragu dengan array string ini,
apa bisa kya gini*/
{
temp = names[a];
names[a] = names[b];
names[b] = temp;
}
}
for(x=0;x<IdxMax;x++)
printf(“%s\n”,names[x]);
}
void SortDate ()
/* pakai insertion sort*/
{
/* KAMUS LOKAL */
int i;
int Pass;
int Temp;
data *N;
/* ALGORITMA */
for (Pass = IdxMin+1; Pass <= GetNeff ((*N)); Pass ++)
{
Temp = GetElmt (((*N).((*J).DD)), Pass);
i = Pass-1;
while ((Temp <= GetElmt (((*N).((*J).DD)), i)) && (i > IdxMin))
{
SetElmt (&((*N).((*J).DD)), i+1, GetElmt (((*N).((*J).DD)), i));
i–;
}
if (Temp >= GetElmt (((*N).((*J).DD)), i))
{
SetElmt (&((*N).((*J).DD)), i+1, Temp);
}
else /* Temp < GetElmt(((*J).DD), i) */
{
SetElmt (&((*N).((*J).DD)), i+1, GetElmt (((*N).((*J).DD)), i));
}
SetElmt (&((*N).((*J).DD)), i, Temp);
}
}
void SortUkuran ()
{
/* KAMUS LOKAL */
int i;
int Pass;
int Temp;
data *N;
/* ALGORITMA */
for (Pass = IdxMin+1; Pass <= GetNeff ((*N)); Pass ++)
{
Temp = GetElmt (((*N).Size), Pass);
i = Pass-1;
while ((Temp <= GetElmt (((*N).Size), i)) && (i > IdxMin))
{
SetElmt (&((*N).Size), i+1, GetElmt (((*N).Size), i));
i–;
}
if (Temp >= GetElmt (((*N).Size), i))
{
SetElmt (&((*N).Size), i+1, Temp);
}
else /* Temp < GetElmt(((*J).DD), i) */
{
SetElmt (&((*N).Size), i+1, GetElmt (((*N).Size), i));
}
SetElmt (&((*N).Size), i, Temp);
}
}
ketiga stack.h
/* file : stack.h*/
#ifndef stack_H
#define stack_H
#include “boolean.h”
#define Nil 0
typedef int infotype;
typedef int address;
typedef struct
{ infotype *T;
address TOP;
int Size;
} Stack;
#define Top(S) (S).TOP
#define InfoTop(S) (S).T[(S).TOP]
#define Size (S) (S).Size
boolean IsEmpty (Stack S);
void Destruct (Stack *S);
void Push (Stack *S, infotype X);
void Pop (Stack *S, infotype *X);
int MakeFile (Stack S);
#endif
keempat stack.c
/* file : stack.c*/
#include <stdlib.h>
#include <stdio.h>
#include “stack.h”
boolean IsEmpty (Stack S)
{ return ((S).Top==Nil)
}
void Destruct (Stack *S)
{ free (Stack);
}
void Push (Stack *S, infotype X)
{ (*S).Top++;
(*S).T[(*S).TOP] = X;
}
void Pop (Stack *S, infotype *X)
{ *X = (*S).T[(*S).TOP];
(*S).Top–;
}
int MakeFile (Stack S)
{ f = fopen (“file.int”, “r+”);
((S).Top==1);
}
kelima toc.c
/* file : toc*/
#include <stdlib.h>
#include <stdio.h>
#include “stack.h”
void toc ()
{ int X,
int retval;
if IsEmpty (Stack S)
{ printf (“File kosong, belum ada file yang disimpan\n”); /* jika file toc kosong*/
MakeFile (S);
};
else /* is not Empty*/
{ f= fopen (“file.int”, “r+”)
retval = fscanf (f, “%c”, &CC);
push (S,X); /* tambahin file ke stack*/
};
}
tapi ini semua aku gak tau bner apa salah, tolong benerin klo ada yang salah, trus kasih saran untuk diperbaiki ya, plissss banget…..hehehe
Gisca ^^
Tolong dunk
Oktober 8, 2008 at 5:26 pm | In Interface & TOC | Leave a CommentTeman2 tlng ksh saran tntng list n toc dunk.Trus gmn c cr tampilin tgl n jam pd server spy bs d tmpln/d smpn saat update filenya,hiks,aq g tw.
Plis bantuan.Btw pnyku jg blm k cmpile,huhu.Jd g tw tu yg list n toc yg ud aq bwt.Trus mslhku ma kya bela,tntng link k fileheadernya
display
Oktober 7, 2008 at 4:28 pm | In Interface & TOC | 4 Commentsini ada mesinkar.h:
#ifndef MESINKAR_H
#define MESINKAR_H
#include “boolean.h”
#ifndef MARK
#define MARK ‘.’
#ifndef MARK1
#define MARK1 ‘;’
#endif
void START (void);
/* I.S. sembarang */
/* F.S. CC adalah karakter pertama pita*/
/*jika CC == MARK, EOP menyala */
/*jika CC != MARK, EOP mati */
void ADV (void);
/* I.S. CC!=MARK */
/* F.S. CC adalah karakter berikutnya pada I.S */
/* jika CC==MARK, EOP menyala (true) */
boolean EOP (void);
/* true jika CC == MARK*/
void ADV1 (void);
/* I.S. CC!=MARK1 */
/* F.S. CC adalah karakter berikutnya pada I.S */
/* jika CC==MARK1, EOP menyala (true) */
boolean EOP1 (void);
/* true jika CC == MARK1*/
trus, mesinkar.c:
#ifndef MESINKAR_C
#define MESINKAR_C
#include <assert.h>
#include <fcntl.h>
#include <stdio.h>
#include “boolean.h”
#include “mesinkar.h”
char CC;
static char Pita_karakter [1500] = “P08-7015-080418-01.pas” /*nama file yang diuji coba*/
static FILE*fileku;
static int retval;
void START (void);
/* I.S. sembarang */
/* F.S. CC adalah karakter pertama pita*/
/*jika CC == MARK, EOP menyala */
/*jika CC != MARK, EOP mati */
{
FILEKU = fopen (Pita_karakter,”r”);
retval = fscanf (FILEKU, “%c”, &CC);
}
void ADV (void);
/* I.S. CC!=MARK */
/* F.S. CC adalah karakter berikutnya pada I.S */
/* jika CC==MARK, EOP menyala (true) */
{
retval = fscanf (FILEKU, “%c”, &CC);
if ( CC == MARK) {
fclose (FILEKU);
}
}
boolean EOP (void);
/* true jika CC == MARK*/
{ return (CC== MARK); }
void ADV1 (void);
/* I.S. CC!=MARK1 */
/* F.S. CC adalah karakter berikutnya pada I.S */
/* jika CC==MARK1, EOP menyala (true) */
{
retval = fscanf (FILEKU, “%c”, &CC);
if ( CC == MARK1) {
fclose (FILEKU);
}
}
boolean EOP1 (void);
/* true jika CC == MARK1*/
{ return (CC== MARK1); }
dan maindisplay.c:
# include <stdio.h>
# include “mesinkar.h”
# include “mesinkar.c”
int main ()
{ /* KAMUS*/
static char CC;
static char FILE_NAME [1500] = “P08-7015-080418-01.pas”
int retval;
FILE*fileku;
/*ALGORITMA*/
START ();
while (CC!= MARK)
{
while (CC!= MARK1)
{ ADV ();
printf (“%c”, CC);
printf (“/n”);
}
return 0;
}
HEMM HEMM. masih gagal dicompile
gue bingungg deh,
setiap dicompile masalahnya ada di
#include “mesinkar.h”-nya. ada tulisan:
2 I:\mencoba display\maindisplay.c In file included from I:\mencoba display\maindisplay.c
bingungg. tolongin gue.
makasihh.
oh iyaa, yg buadd main displaynya. kan gue pengennya tuh ngebuattnya si mesin ngebacanya satu persatu karakter per baris. truss… kyknya algoritma mainnya anehh. msh dicoba2 lagi sihh
tappi teteupp nihh
yang masalah #include “mesinkar.h”-nya bgmna ituu?
makasihh sekali lagi.
by nabila
mesinkar.h & mesinkar.c
Oktober 7, 2008 at 2:51 am | In Executor | Leave a Commentassalamualaikum…
sekarang adalah file mesinkar.h dan mesinkar.c
keduanya digunakan untuk pembuatan adt mesinkata yang akan dibuat nantinya….
/* File : mesinkar.h */
#ifndef MESINKAR_H
#define MESINKAR_H
#include <assert.h>
#include <fcnt1.h>
#include “boolean.h”
#ifndef MARK
#define MARK ‘.’
#endif
void START(void);
/*I.S. sembarang */
/*F.S. CC adalah karakter pertama pita */
/* JIka CC==MARK, EOP menyala (True) */
/* JIka CC != MARK, EOP padam (False) */
void ADV(void);
/*I.S. CC != MARK */
/*F.S. CC adalah karakter berikutnya dari CC pada I.S. */
/* Jika CC==MARK, EOP menyala (true) */
boolean EOP(void);
/*true jika CC==MARK */
#endif
/* File : mesinkar.c */
/* Body mesinkar.h */
#ifndef MESINKAR_C
#define MESINKAR_C
#include <assert.h>
#include <fcnt1.h>
#include <stdio.h>
#include “boolean.h”
#include “mesinkar.h”
/*define states*/
char CC;
#define Pita_karakter “pitakar.txt”
static int_handle;
void START(void){
/*I.S. sembarang */
/*F.S. CC adalah karakter pertama pita */
/* JIka CC==MARK, EOP menyala (True) */
/* JIka CC != MARK, EOP padam (False) */
_handle = open(Pita_karakter,O_RDONLY);
assert(handle !=-1);
assert (read(_handle,&CC,1) !=-1);
}
void ADV(void){
/*I.S. CC != MARK */
/*F.S. CC adalah karakter berikutnya dari CC pada I.S. */
/* Jika CC==MARK, EOP menyala (true) */
assert (!EOP());
assert (read(_handle,&CC,1) !=-1);
if (CC==MARK) assert (close(_handle) !=-1);
}
boolean EOP(void){
/*true jika CC==MARK */
return (CC==MARK); }
#endif
mohon koreksinya kalau ada kesalahan…
makasih yah….
by :Taufik Khuswendi
boolean.h
Oktober 7, 2008 at 2:33 am | In Executor | Leave a CommentAssalamualaikum…
ni saya buat file standarnya dulu yah….
/*File : boolean.h */
#ifndef boolean_H
#define boolean_H
#define true 1
#define false 0
#define boolean unsigned char
#endif
by : Taufik Khuswendi
Sedikit Gambaran tentang Modul Eksekutor
Oktober 6, 2008 at 8:08 pm | In Executor | Leave a CommentTags: Add new tag
Apa kerja modul execute?
1. membaca file internal
Pembacaan file internal dapat dianggap sebagai pembacaan file eksternal yang berupa kumpulan kata sehingga dapat digunakan Mesin Kata untuk membacanya. Mesin Kata membaca file internal dan menyimpannya dalam sebuah matriks berukuran 50×2 dengan rincian: kolom pertama digunakan untuk menyimpan perintah dan kolom kedua digunakan untuk menyimpan variabel. Penyimpanan ini berlaku untuk semua jenis perintah kecuali untuk deklarasi variabel dan assignment yang dilakukan secara langsung sambil membaca.
2. menerjemahkan perintah-perintah dalam file internal menjadi perintah dalam bahasa C agar bisa didapatkan hasilnya.
Penerjemahan perintah file internal dapat dilakukan dengan membandingkan perintah yang sudah direkam sebelumnya dengan daftar perintah yang dipunyai.
Itulah gambaran singkat tentang modul execute.
FAQ:
Q: Apa itu file internal dan bagaimana cara membacanya?
A: Lihat penjelasan di atas. Note: file internal adalah sebuah file berisikan karakter / teks dengan ekstensi “.int”, jadi jangan merasa bingung dengan file eksternal.
Q: Apa itu bahasa assembly?
A: Agar lebih mudah dipahami, dapat dianggap perintah-perintah dalam bahasa assembly itu sebagai kumpulan perintah yang hanya dapat dipahami mesin. Jadi, tidak usah dipikirkan apa itu bahasa assembly untuk tugas ini dan perintah-perintah dalam file internal dapat dianggap sebagai kumpulan karakter yang digunakan sebagai perintah (itulah penjelasan ‘kasar’-nya).
Ditulis oleh: Hanugrha Abidianto
fungsi aritmatika…(seadanya…)
Oktober 6, 2008 at 5:37 pm | In Compiler | Leave a CommentPren,ni fungsi aritmatika setau gw…
Maap klo banyak kekurangan…Klo da yg perlu dikoreksi tolong d britau ye…Tengkyu…
(written by Ramayuda…)
#include <stdio.h>
#include <conio.h>
int tambah(int bil1,int bil2) {
int hasil;
hasil = bil1 + bil2;
printf(“%d”,hasil);
}
int kurang(int bil1,int bil2) {
int hasil;
hasil = bil1 – bil2;
printf(“%d”,hasil);
}
int kali(int bil1,int bil2) {
int hasil;
hasil = bil1 * bil2;
printf(“%d”,hasil);
}
int bagi(int bil1,int bil2) {
int hasil;
hasil = bil1 / bil2;
printf(“%d”,hasil);
}
int main() {
int a,b;
scanf(“%d %d”,&a,&b);
tambah(a,b);
printf(“\n”);
kurang(a,b);
printf(“\n”);
kali(a,b);
printf(“\n”);
bagi(a,b);
getch();
}
Untuk sub-kelompok compiler
September 30, 2008 at 1:09 am | In Berita | 4 CommentsBegini, compile ini cukup rumit, jadi ada baiknya dibuat dalam submodul lagi.
Supaya efektif ini pembagian tugasnya:
Ramayuda membuat fungsi untuk memproses kalimat oprator aritmatik. Nanti input yang akan diberikan adalah sebuah string yang valid untuk kategorinya, single spaced, tapi masih dalam notasi infix, maka perlu diubah dulu menjadi postfix sesuai pedoman. Output yang diharapkan adalah menuliskan konversinya menjadi bahasa assembler ke sebuah file sesuai deskripsi di pedoman tugas besar.
Ari membuat fungsi untuk memproses perintah deklarasi dan assign. Nanti input yang akan diberikan adalah sebuah string yang valid untuk kategorinya, single spaced. Output yang diharapkan adalah menuliskan konversinya menjadi bahasa assembler ke sebuah file sesuai deskripsi di pedoman tugas besar.
Aku akan membuat fungsi untuk merekam file, fungsi yang merapikan, memastikan valid dan mengkategorikan blok-blok kalimat pascal sebagai perintah deklarasi, assign, oprator aritmatik, atau write. Juga yang menangani kesalahan syntax.
Untuk proses perintah write harusnya tidak begitu sulit, maka dilaksanakan oleh siapa saja yang selesai duluan.
Begini dulu. Terima kasih sebelumnya.
Jika ada pertanyaan, saran, atau keberatan, jangan ragu-ragu komentar dibawah.
oleh andika
kalimat.h
September 30, 2008 at 12:31 am | In ADT & kumpulan fungsi, Compiler | 1 CommentMenyimpan adt yang aku buat untuk compile.c, juga ada beberapa fungsi untk string yang mungkin berguna.
oleh andika Continue reading kalimat.h…
compile.c
September 30, 2008 at 12:26 am | In Compiler | Leave a CommentIni baru bisa membaca dan merekam file, insya allah beberapa hari lagi aku selesai membuat fungsi untuk menganalisa dan mengkategorikan perintah pascal. Tolong jangan ragu-ragu komentar kalau ada saran agar kode lebih baik.
file terkait:kalimat.h
oleh andika
Blog pada WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.