project akhir uas

27
“KAMUS BAHASA INGGRIS MENGGUNAKAN BAHASA C” ACHMAD SAYFUDIN NRP. 7412040006 EDWIN BRIAN VIANDRA NRP. 7412040008 DOSEN PEMBIMBING : Nana Ramadijanti, S.Kom., M.Kom. NIP.197111091998022001 JURUSAN TEKNIK INFORMATIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 2013

Upload: achmad-sayfudin

Post on 17-Dec-2014

320 views

Category:

Technology


0 download

DESCRIPTION

ini belajar membuat kamus dengan bahasa c

TRANSCRIPT

Page 1: Project akhir uas

“KAMUS BAHASA INGGRIS MENGGUNAKAN

BAHASA C”

ACHMAD SAYFUDIN

NRP. 7412040006

EDWIN BRIAN VIANDRA

NRP. 7412040008

DOSEN PEMBIMBING :

Nana Ramadijanti, S.Kom., M.Kom. NIP.197111091998022001

JURUSAN TEKNIK INFORMATIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

2013

Page 2: Project akhir uas

[ii] Teknik Informatika 1d4tia

“KAMUS BAHASA INGGRIS MENGGUNAKAN BAHASA C”

ACHMAD SAYFUDIN

NRP. 7412040006

EDWIN BRIAN VIANDRA

NRP. 7412040008

DOSEN PEMBIMBING :

Nana Ramadijanti, S.Kom., M.Kom. NIP.197111091998022001

JURUSAN TEKNIK INFORMATIKA

POLOTEKNIK ELEKTRONIKA NEGERI SURABAYA

2013

Page 3: Project akhir uas

[iii] Teknik Informatika 1d4tia

KATA PENGANTAR

Segala puji syukur penulis panjatkan kehadirat Allah SWT

yang telah memberikan kekuatan,nikmat, taufik serta hidayah

kepada kita semua. Sehingga penulis dapat menyelesaikan buku

tugas akhir semester 1 yang sekarang telah berada di tangan anda.

Shalawat dan salam semoga selalu tertunjukan kepada suri tauladan

kita Rosulullah Muhammad saw. Manusia paling sukses yang

pernah ada di dunia ini, yang telah mengantarkan umat manusia dari

zaman kegelapan menuju zaman yang terang benderang seperti saat

ini.

Perkembangan ilmu pengetahuan dan teknologi yang

semakin pesat membuat penulis terbawa arus untuk terjun dalam

bidang ini. Teknologi informasi dipilih sebagai bidang yang digeluti

penulis ketika menuntut di perguruan tinggi.

Judul tugas akhir semester 1 yang kami ambil adalah

“KAMUS BAHASA INGGRIS MENGGUNAKAN BAHASA

C”. Penulis terinspirasi dengan kamus buku bahasa inggris ke

bahasa indonesia yang dirasa kurang maksimal. Penulis berharap

agar tugas akhir semster 1 ini dapat memenuhi nilai tuagas akhir

semester 1di politeknik elektronika negeri surabaya dan dapat

bermanfaat bagi pembaca.

Akhir kata semoga buku ini dapat berguna di masa

sekarang dan masa mendatang. Sebgai manusia yang tidak luput dari

kesalahan, maka penulis mohon maaf apabila ada kekeliruab yang

sengaja maupun tidak sengaja.

Surabaya, 7 Januari 2013

Penulis

Page 4: Project akhir uas

[1] Teknik Informatika 1d4tia

DAFTAR ISI

Halaman Judul .................................................................. i

sampul .................................................................. ii

Kata pengantar .................................................................. iii

Daftar Isi .................................................................. 1

BAB I

1.Dasar Teori ............................................................... 2

1.1 struktur file ................................................................. 2

1.2 Tahapan Operasi file ....................................................... 3

1.3 Operasi penyimpanan dan

Pembacaan per karakter ................................................. 7

BAB II

2.Perencanaan dan blok diagram ............................................... 10

2.1 Flowchart .................................................................. 10

BAB III

3. Uji coba dan capture hasil ...................................................... 11

BAB IV

4. kesimpulan .................................................................. 17

BAB V

LAMPIRAN .................................................................. 18

DAFTAR PUSTAKA .............................................................. 24

Page 5: Project akhir uas

[2] Teknik Informatika 1d4tia

BAB 1

DASAR TEORI

1.1 Struktur File

Kebanyakan program melibatkan media disk sebagai

tempat untuk membaca atau merekam data. Data sendiri

disimpan dalam disk dalam bentuk suatu kesatuan yang disebut

file. Suatu file merupakan organisasi dari sejumlah record.

Masing-masing record dapat terdiri atas satu atau beberapa field

dan setiap field terdiri atas satu atau beberapa byte. Adapun

byte merupakan susunan dari 8 bit. Untuk lebih jelasnya,

perhatikan gambar 11.1 di bawah ini.

Catatan : record adalah nama lain dari struktur (struct).

FILE

RECORD RECORD

......

FIELD FIELD FIELD

BYTE .... BYTE

Gambar 1 Struktur-data dari file

Page 6: Project akhir uas

[3] Teknik Informatika 1d4tia

1.2 Tahapan Operasi File

Operasi pada file pada dasarnya meliputi tiga tahapan, yaitu :

1. Membuka/mengaktifkan file

2. Melaksanakan proses file

3. Menutup file

1.2.1 Membuka dan Mengaktifkan File

Sebelum file dapat diakses (dibaca atau ditulisi), mula-mula file

haruslah diaktifkan terlebih dahulu. Untuk keperluan ini fungsi

yang digunakan yaitu fopen(). Bentuk deklarasinya adalah sebagai

berikut :

FILE *fopen(char *namafile, char *mode);

dengan :

namafile berupa nama dari file yang akan diaktifkan

mode berupa jenis operasi yang akan dilakukan terhadap file ƒ

prototipe ada pada file stdio.h

Jenis operasi file dapat berupa salah satu di antara mode berikut

:

r menyatakan file hanya akan dibaca. Dalam hal ini, file

yang akan diproses haruslah sudah ada dalam disk pada

current directory.

w menyatakan bahwa file baru diciptakan. Selanjutnya

operasi yang akan dilakukan terhadap file adalah operasi

perekaman data. Seandainya file tersebut sudah ada dalam

disk, isinya yang lama akan terhapus. �

Page 7: Project akhir uas

[4] Teknik Informatika 1d4tia

a untuk membuka file yang sudah ada dalam disk, dan

operasi yang akan dilakukan adalah penambahan data pada

file. Data baru akan ditempatkan di bagian belakang dari

file. Seandainya file belum ada, secara otomatis file akan

diciptakan terlebih dahulu. �

r+ untuk membuka file yang sudah ada, dan operasi yang

akan dilakukan berupa pembacaan serta penulisan. �

w+ untuk membuka file dengan tujuan untuk pembacaan

atau penulisan. Jika file sudah ada, isinya akan dihapus. �

a+ untuk membuka file, dengan operasi yang dapat

dilakukan berupa perekaman maupun pembacaan. Jika file

sudah ada, isinya tak akan dihapus.

Keluaran fungsi fopen() berupa pointer yang menunjuk ke

tipe FILE (pointer to FILE), yaitu tipe struktur yang

definisinya ada pada stdio.h (oleh karena itu program yang

menggunakan fopen() harus melibatkan file stdio.h).

Berhasil tidaknya operasi pengaktifan file dapat dilihat

pada keluaran fungsi fopen(). Jika keluaran fungsi berupa

NULL (suatu makro yang didefinisikan pada file stdio.h),

berarti operasi pengaktifan file gagal. Kejadian seperti ini

bisa terjadi misalnya saat membuka file dengan mode “r ”

ternyata file yang dibuka tidak ada dalam disk.

Contoh pemakaian fungsi fopen() :

pf = fopen(“COBA.TXT”, “w”);

dengan variabel pf dideklarasikan sebagai berikut :

FILE *pf;

Page 8: Project akhir uas

[5] Teknik Informatika 1d4tia

Maksud dari pernyataan pf = fopen(“COBA.TXT”, “w”); adalah

menciptakan dan mengaktifkan file bernama “COBA.TXT”

dengan mode yaitu “w” (mode penulisan ke file) ƒ

dan menempatkan pointer-ke-FILE ke variabel pointer pf

Dengan instruksi di atas, seandainya file “COBA.TXT” sudah ada

dalam disk, maka isi file tersebut akan menjadi hilang (data lama

akan terhapus).

Pf informasi file COBA.TXT

Pointer-ke-FILE

Struct FILE

Gambar 12 Pointer-ke-FILE pf menunjuk ke file COBA.TXT

Bentuk yang biasa dipakai untuk mengaktifkan file beserta

pemeriksaan keberhasilannya adalah semacam berikut :

if (pf = fopen(“COBA.TXT”, “w”) == NULL)

{

printf(“File tidak dapat diciptakan !\n”);

exit(1); /* keluar dari program */

}

Mula-mula pf diisi dengan keluaran dari fungsi fopen(). Seandainya

nilainya adalah NULL (berarti operasi pengaktifan gagal), maka ƒ

Page 9: Project akhir uas

[6] Teknik Informatika 1d4tia

pada layar ditampilkan tulisan : File tidak dapat diciptakan !

program dihentikan (selesai).

1.2.2 Menutup File

Apabila suatu file sudah tidak diproses lagi, maka file

tersebut perlu ditutup. Hal seperti ini sangat penting terutama jika

melakukan pemrosesan file yang jumlahnya lebih dari satu.

Alasannya di antaranya adalah karena adanya keterbatasan jumlah

file yang dapat dibuka secara serentak. Untuk menutup file, fungsi

yang digunakan adalah fclose(), dengan bentuk deklarasi sebagai

berikut :

int fclose(FILE *pf);

dengan prototipe ada pada stdio.h.

Pada waktu pemanggilan fungsi ini, pf haruslah berupa

variabel pointer bertipe FILE yang digunakan dalam pengaktifan

file. Fungsi fclose() menghasilkan keluaran berupa nol jika operasi

penutupan berhasil dilakukan.

Di samping fclose(), terdapat pula fungsi bernama

fcloseall() yang digunakan untuk menutup semua file yang sedang

terbuka. Bentuk deklarasinya :

int fcloseall(void);

Fungsi ini menghasilkan nilai EOF (EOF didefinisikan

pada stdio.h, yaitu bernilai –1) jika terjadi kegagalan. Sedangkan

bila berhasil, keluaran fungsi berupa jumlah file yang ditutup.

Page 10: Project akhir uas

[7] Teknik Informatika 1d4tia

1.3 Operasi Peyinpanan dan Pembacaan Per Karakter

1.3.1 Fungsi fputc()

Sebuah karakter dapat disimpan/dituliskan ke dalam file

dengan menggunakan fungsi fputc(). Bentuk deklarasi dari

fungsi ini :

int fputc(char kar, FILE *ptr_file);

dengan ptr_file adalah pointer-ke-FILE yang berisi

keluaran dari fopen(), dan kar berupa karakter yang akan

disimpan dalam file. Sekalipun kar bertipe int (2 byte),

sebenarnya hanya byte terendah dari kar yang akan

disimpan ke dalam file. Byte tertinggi tak ikut disimpan.

Seandainya operasi fputc() berjalan dengan sempurna,

keluaran fungsi sama dengan nilai kar. Bila tak berhasil

melaksanakan penyimpanan, keluaran fungsi berupa EOF

(-1). Contoh program untuk menciptakan file dan

digunakan untuk menyimpan sejumlah karakter :

/* File program: fputc.c Menciptakan &

mengisi file dgn data karakter dr keyboard */

#include <stdio.h>

#include <stdlib.h>

main()

{ FILE *pf; /* Pointer-ke-FILE */

char kar;

/* Ciptakan file */

if ((pf = fopen(“COBA.TXT”,”w”)) == NULL)

{

Page 11: Project akhir uas

[8] Teknik Informatika 1d4tia

printf(“file tak dapat diciptakan!\r\n”);

exit(1); /* selesai */

}

printf(“Ketikkan apa saja, akhiri dengan ENTER.\n”);

printf(“Program akan membaca perkarakter\n”);

printf(“dan menyimpannya dalam file COBA.TXT\n\n”);

while((kar=getchar()) != ‘\n’) /*baca kar dr keyboard*/

fputc(kar, pf); /*tulis ke file per karakter*/ fclose(pf);

/* tutup file */

}

Contoh eksekusi :

Ketikkan apa saja, akhiri dengan ENTER. Program akan

membaca perkarakter dan menyimpannya dalam file

COBA.TXT

Mencoba menulis ke file COBA.TXT

Program mula-mula menciptakan dan membuka file melalui

pemanggilan fungsi fopen(), dengan mode file “w”. Kalau keluaran

fungsi bernilai NULL, program dihentikan melalui exit( ). Kalau

file COBA.TXT berhasil dibuka, maka pernyataan

while((kar=getchar()) != ‘\n’)

fputc(kar, pf);

akan dijalankan, yang memungkinkan untuk memasukkan sejumlah

karakter, sampai tombol ENTER ditekan (ENTER tidak ikut

disimpan dalam file). Jika tombol ENTER ditekan, file akan ditutup

dan eksekusi program selesai. Sedangkan file COBA.TXT yang

dihasilkan oleh program di atas merupakan file teks, sehingga isinya

Page 12: Project akhir uas

[9] Teknik Informatika 1d4tia

bisa dilihat dengan menggunakan bantuan sebuah teks editor

misalnya Notepad

1.3.2 Fungsi fget()

Untuk melihat isi file hasil program di atas, bisa juga

melalui program dengan memakai fungsi fgetc(), yang

digunakan untuk pembacaan per karakter dari isi file.

Prototipe dari fungsi ini ada di stdio.h. Bentuk deklarasi

fgetc() :

int fgetc(FILE *ptr_file);

Keluaran fungsi berupa nilai bertipe int dari sebuah

karakter yang dibaca dari file. Jika akhir file ditemukan

atau terjadi kegagalan membaca, keluaran fungsi berupa

EOF. Program berikut digunakan untuk membaca isi file

COBA.TXT dengan langkah-langkah sebagai berikut :

1. Buka file COBA.TXT dengan mode “r” Jika tidak

berhasil dibuka maka – beri keterangan pada layar bahwa

file tak ada – selesai

2. Baca sebuah karakter dari file Jika karakter sama dengan

EOF (tanda akhir file) maka ke langkah 4

3. Tampilkan karakter ke layar dan kembali ke langkah 2

4. Tutup file

5. Selesai

/* File program: fgetc.c

contoh membaca isi file per karakter */

#include <stdio.h>

Page 13: Project akhir uas

[10] Teknik Informatika 1d4tia

#include <stdlib.h>

main()

{

FILE *pf;

char kar;

if((pf=fopen(“COBA.TXT”,”r”)) == NULL ) /* buka fi le */

{

printf(“file tak dapat dibuka !\r\n”); exit(1); /* selesai */

}

while((kar=fgetc(pf)) != EOF) /* baca kar dari file */ putchar(kar);

/* tampilkan ke layar*/

printf(“\n”); fclose(pf); /* tutup file */

}Contoh eksekusi :

Mencoba menulis ke file COBA.TX

Page 14: Project akhir uas

[11] Teknik Informatika 1d4tia

BAB II

PERENCANAAN DAN BLOK DIAGRAM YANG

DIGUNAKAN

2.1 Flowchart

START

CETAK menu

Char

data.ind,data.in

g

Input

T

END

KELUAR

!=

Ay||Y?

F

T

F

T

T

F

T

F

T

F

Pil=

1?

Pil=

2?

Pil=

3?

Pil=

4?

Pil=

5?

A

Input()

Tampil()

Indo-

inggris()

Inggri-indo()

hapus()

Pil=

6? Keluar()

A

Page 15: Project akhir uas

[12] Teknik Informatika 1d4tia

BAB III

UJI COBA DAN CAPTURE HASIL

Ini merupakan tampilan awal dari aplikasi kamus kelompok kami.

Ada 6 menu yang terdapat dalam aplikasi tersebut yaitu:

a. menu input

b. menu tampilan

c. cari kata indonesia-inggris

d. cari inggris-indonesia

e. hapus kata dalam kamus

f. keluar.

Page 16: Project akhir uas

[13] Teknik Informatika 1d4tia

Ini tampilan kamus sport

Ini tampilan dari menu (input): saya misal inputkan

indonesia=>kolam dan english= >pool

Page 17: Project akhir uas

[14] Teknik Informatika 1d4tia

Ini merupakan tampilan dari menu daftar kata kamus tadi kata

kolam tambah dibawah secara otomatis

Ini merupakan tampilan dari menu cari kata indonesia-inggris,dan

hasilnya ketemu yang saya lingkari merah

Gool keeper

Page 18: Project akhir uas

[15] Teknik Informatika 1d4tia

Ini merupakan tampilan dari menu cari kata ingris-indonesia,berikut

mencari kata pool = kolom. Jika tekan y maka akan terjemahkan

ulang,jika n maka akan kembali ke menu utama.

Ini merupakan menu tampilan dari menu hapus kata.

Page 19: Project akhir uas

[16] Teknik Informatika 1d4tia

Ini hasilnya dari kamus.txt setelah kata kolam di hapus...

Ini tampilan dari menu exit... ketik 6 langsung keluar..

Page 20: Project akhir uas

[17] Teknik Informatika 1d4tia

BAB IV

KESIMPULAN

4.1 Kesimpulan

Kesimpulan dari program ini adalah program ini mempunyai

fasilitas yang lebih baik dari umumnya program kamus yang ada.

Beberapa kelebihan dari program ini antara lain translate inggris-

indonesiadan indonesia inggris, dan penambahan dan penghapusan

kosakata. Dengan fasilitas ini tentunya akan lebih memudahkan dan

mempercepat bagi user dalam mengkonversi kata.

Seiring dengan meluasnya globalisasi, penulis berharap mampu

mengembangkan program ini dengan penambahan beberapa bahsa

lainnya. Sehingga, program ini dapat menjadi one stop language

converter yang tentunya akan sangat berguna bagi user dalam

mempermudah komunikasi.

Page 21: Project akhir uas

[18] Teknik Informatika 1d4tia

BAB V

LAMPIRAN

5.1 Listing Program

#include”stdio.h” #include”conio.h” #include”string.h” #include”stdlib.h” void header(); void input(); void tampil(); void indtoing(); void ingtoind(); void hapus(); void keluar(); FILE *kamus,*temp; struct{char ind[35],ing[35];}data; char kar; main() { char pil; do{ system(“cls”); header(); puts(“\n\n\n *------MENU PILIHAN------*\n”); printf(“1. Input kata.\n”); printf(“2. Tampilkan isi kata kamus kata.\n”); printf(“3. Cari kata indonesia -> inggris.\n”); printf(“4. Cari kata inggris -> indonesia.\n”); printf(“5. Hapus kata dalam kamus.\n”); printf(“6. Keluar\n\n”); printf(“ Masukan pilihan anda = “); pil=getche(); puts(“”); switch(pil) {

Page 22: Project akhir uas

[19] Teknik Informatika 1d4tia

case ‘1’: input(); break; case ‘2’: tampil(); break; case ‘3’: indtoing(); break; case ‘4’: ingtoind(); break; case ‘5’: hapus(); break; case ‘6’: keluar(); break; } printf(“ Kembali ke menu awal (y/n) =>”); kar=getche(); }while((kar==’Y’)||(kar==’y’)); } void header() { puts(“ ========================================”); puts(“ | |”); puts(“ | *kamus digital* |”); puts(“ | develop by : |”); puts(“ | 06 achmad sayfudin |”); puts(“ | 08 edwin brian viandra |”); puts(“ ========================================”); } /*input kata*/ void input() { char pil; do{ system(“cls”);

Page 23: Project akhir uas

[20] Teknik Informatika 1d4tia

if((kamus=fopen(“kamus.txt”,”a+”))==NULL) { printf(“data gagal buka “); exit(1); } header(); puts(“ \n\t\t\t-----------------\n”); puts(“ \t\t\t INPUT KATA BARU\n”); puts(“ \t\t\t-----------------\n”); fflush(stdin); printf(“Indonesia => “); gets(data.ind); printf(“English => “); gets(data.ing); fflush(stdin); fwrite(&data,sizeof(data), 1, kamus); printf(“\n input lagi (y/n)”); pil=getche(); } while((pil==’Y’)||(pil==’y’)); puts(“”); } void tampil() { system(“cls”); if((kamus=fopen(“kamus.txt”,”r”))==NULL) { printf(“data gagal di baca “); exit(1); } header(); puts(“ \n\t\t\t-----------------\n”); puts(“ \t\t\tDaftar Kata Kamus\n”); puts(“ \t\t\t-----------------\n”); printf(“\n%-30s %-30s”,”indonesia”,”inggris”); printf(“\n%-30s %-30s”,”---------“,”-------\n”); while(fread(&data, sizeof(data), 1, kamus)==1) printf(“\n%-30s %-30s”,data.ind,data.ing); puts(“\n”);

Page 24: Project akhir uas

[21] Teknik Informatika 1d4tia

fclose(kamus); } void indtoing() { char cari[35],op; int i=1; do{ system(“cls”); if((kamus=fopen(“kamus.txt”,”r”))==NULL) { printf(“data tidak dapat dibuka “); exit(1); } header(); puts(“ \n\t\t\t-----------------\n”); puts(“ \t\t\tINDONESIA-INGGRIS\n”); puts(“ \t\t\t-----------------\n”); printf(“kata indonesia => “); fflush(stdin); gets(cari); fflush(stdin); while(fread(&data,sizeof(data),1, kamus)==i) { if(strcmp(cari,data.ind)==0) { printf(“%s = %s “,data.ind,data.ing); i+=1; } } if(i==0) { printf(“ kata \”%s\” tidak ditemukan “,cari); } fclose(kamus); printf(“\n\nterjemahkan lagi (y/n) => “); op=getche(); }while(op==’Y’||op==’y’); puts(“\n”); }

Page 25: Project akhir uas

[22] Teknik Informatika 1d4tia

void ingtoind() { int i=1; char cari[35],op; do{ system(“cls”); if((kamus=fopen(“kamus.txt”,”r”))==NULL) { printf(“file tidak dapat dibuka”); exit(1); } header(); puts(“ \n\t\t\t-----------------\n”); puts(“ \t\t\tINGGRIS-INDONESIA\n”); puts(“ \t\t\t-----------------\n”); printf(“INPUT ENGLISH WORD => “); fflush(stdin); gets(cari); fflush(stdin); while(fread(&data, sizeof data, 1, kamus)==1) { if(strcmp(cari,data.ing)==0) { printf(“%s = %s”,data.ing,data.ind); i+=1; } else if(i==0) printf(“word is \”%s\” not found”,cari); } fclose(kamus); printf(“\n\n Terjemahkan lagi (y/n) => “); op=getche(); }while(op==’Y’||op==’y’); puts(“\n”); } void hapus() { int i=1; char del[35],op; do{ system(“cls”); if((kamus=fopen(“kamus.txt”,”r”))==NULL)

Page 26: Project akhir uas

[23] Teknik Informatika 1d4tia

{ printf(“tidak dapat di hapus”); exit(1); } header(); puts(“ \n\t\t\t-----------------\n”); puts(“ \t\t\t HAPUS KATA\n”); puts(“ \t\t\t-----------------\n”); printf(“hapus kata indonesia =>”); fflush(stdin); gets(del); fflush(stdin); while(fread(&data,sizeof(data),1, kamus)==1) {if(strcmp(del,data.ind)!=0) //jika tidak sama { if((temp=fopen(“temp.txt”,”a”))==NULL) { printf(“File tidak bisa diakses”); } else { fwrite(&data, sizeof(data), 1, temp); } fclose(temp); } else { printf(“\”%s = %s\”\n berhasil dihapus”,data.ind,data.ing); i+=1; } } if(i==0) { printf(“Kata \”%s\” tidak ditemukan”,del); } fclose(kamus); remove(“kamus.txt”); rename(“temp.txt”,”kamus.txt”); printf(“\n\nhapus lagi (y/n) => “); op=getche(); }while(op==’Y’||op==’y’); puts(“\n”); } void keluar() { exit(1);}

Page 27: Project akhir uas

[24] Teknik Informatika 1d4tia

DAFTAR PUSTAKA

www.google.com (diakses pada 10 januari 2013 ).

Sa’adah umi, afrida Helen. Konsep Pemrograman. Surabaya :

Politeknik Elektronika Negeri Surabaya-ITS. 2008.