Anda di halaman 1dari 10

BAHASA PEMROGRAMAN C Amreza E., Bintang P. S., M. Arif R., M. Kidam H., Panji P. M., Rhea W., T. A.

Shandy Teknik Metalurgi (Kelas B) FT-UNTIRTA


elwadikarebo@gmail.com, purnabintang@ymail.com, moc.arif@gmail.com, kidamhady16@gmail.com, panji.prabowo79@gmail.com, rheasswerda@gmail.com, shandy_trialif@yahoo.com

ABSTRAK Perkembangan teknologi saat ini amatlah sangat cepat. Maka kebutuhan akan barang

kemudahannya.

Program

ini

sangat

mudah operator

dijalankan oleh setiap operator karena

hanya memasukkan data data ke dalamnya.Bahasa C banyak digunakan oleh institusi-institusi untuk mengolah data-datanya agar mempermudah

elektronik seiring naik dengan perkembangan teknoologi tersebut. Untuk itu manusia perlu menciptakan alat untuk membantunya dalam melakukan tugas tugas yang membebaninya. Dengan alat elektronik tersebut, manusia akan terbantu sedikit meringankan beban pekerjaannya. Bahkan hanya dalam perangkat keras saja tapi juga perangkat lunaknya. Manusia akan sangat perlu suatu printahperintah yang dapat menghubungkan keinginanya dengan computer ataupun mesin sekalipun. Perintah perintah itu diterjemahkan dalam bahasa bahasa yang dimengerti mesin. Bahasa manusia merupakan bahasa tingkat tinggi yang tidak dimengerti oleh mesin, sedangkan bahasa yang dimengerti mesin adalah bahasa tingkat rendah yaitu bahasa assemble. Salah satu bahasa mesin adalah bahasa C.Bahasa C adalah bahasa computer yang semakin popular.Dan sejak itu bahasa C semakin berkembang dan banyak

administrasinya.

1. PENDAHULUAN 1.1 Latar Belakang Dunia saat ini telah memasuki era

teknologi canggih. Hampir semua kegiatan manusia melibatkan teknologi komputer, mulai dari skala perorangan sampai pada skala perushaan. Seiring dengan itu, keterlibatan bahasa pemrograman C di dalam pemakaian

aplikasi komputer juga cukup besar. Karena itu kemudahan kemudahan yang ditawarkan oleh bahasa C membuat para programmer banyak meminatinya. Bahasa C adalah bahasa computer yang semakin popular. Dikembangkan oleh Dennis Richie dan Ken Thompson pada tahun 1972. C merupakan perbaikan atas bahasa B yang disusun oleh Ken Thmpson pada tahun 1970. C itu sendiri baru mulai dikenal uas sejak 1978

diminati oleh programmer hingga sekarang.Program ini dibuat dengan menggunakan progam bahasa C yang digemari oleh banyak programmer karena

setelah terbitnya buku The C Programming Language oleh Brian Kernighan dan Dennis Richie. Keunggulan utama sekaligus merupakan kelemahan C adalah sifatnya terbuka. Bersifat terbuka di sini berarti pemrogram memiliki keleluasaan yang besar untuk melakukan akses langsung ke perangkat computer, yakni akses langsung ke prosesor maupun ke perangkat lainnya. Berangkat dari latar belakang penulis berusaha membahas bahasa C agar mampu menggoprasikan bahasa C,karena bahasa C memiliki manfaat yang sangat besar pada kehidupan di era globalisasi

mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari

bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin Richard. Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang

sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN. Tahun mengalami 1989, dunia pemrograman penting C

peristiwa

dengan

dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C 1.2 Perumusah Masalah Apakah yang dimaksud dengan Bahasa C dan kegunaannya dalam kehidupan di zaman era globalisasi? dari yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C. Mulai awal tahun 1980, Bjarne Stroustrup AT & T Bell Laboratories mulai

mengembangkan bahasa C. Pada tahun 1985, 1.3 Tujuan Penulisan 1. Memenuhi Tugas Mata Kuliah lahirlah secara resmi bahasa baru hasil

pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C. Pada evolusi selanjutnya, Borland

Komputer dan Pemrograman 2. Mengenal Bahasa C 3. Mengetahui apa saja yang terdapat dalam Bahasa C 4. Mengetahui kegunaan Bahasa C di zaman era globalisasi

International Inc. mengembangkan kompiler 2. TINJAUAN TEORI 2.1 Sejarah Bahasa C Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T Laboratories C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang

digunakan oleh sebagian besar pemrogram professional.

- Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.

2.2

Instalasi Visual Studio di Windows 7 1. 2. Double klik Setup Visual C

- Proses executable program bahasa C lebih cepat - Dukungan pustaka yang banyak.

Pada Windows 7 kita akan menemui message bahwa program ini tidak compitible dengan system, namun lanjutkan dengan mengklik run program dan menceklist dont show this message. - C adalah bahasa yang terstruktur - Bahasa C termasuk bahasa tingkat menengah penempatan ini hanya

menegaskan bahwa c bukan bahasa pemrograman yangberorientasi pada

3. 4.

Klik Next Ceklist I accept the agreement lalu Next

mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat

dinterprestasikan oleh mesin dengan cepat.secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki menyusun

5. 6. 7. 8. 9.

Masukkan Serial Number lalu Next Pilih Custom lalu Next Tentukan tempat destination program Ulangi langkah kedua Pilih paket-paket program yang ingin digunakan lalu Continue

kemudahan

dalam

programnya semudah bahasa tingkat tinggi namun dalam mengesekusi

program secepat bahasa tingkat rendah. Kekurangan Bahasa C: - Banyaknya operator serta fleksibilitas penulisan program kadang-kadang

10. Ikuti semua instruksi

2.3

Kelebihan & kekurangan Bahasa C Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis 2.4

membingungkan pemakai. - Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

Mengkompilasi Program Suatu source program C baru dapat

computer.

dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan

untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan int TopA, TopB, TopC, Stack_A[10],Stack_B[10], Stack_C[10]; int Inisialisasi(){ TopA=-1; TopB=-1; TopC=-1; } void PushA(int); void PushB(int); void PushC(int); int PopA(); int PopB(); int PopC(); void exchange(); void PushA(int x){ TopA=TopA+1; Stack_A[TopA]=x; } void PushB(int x){ TopB=TopB+1; Stack_B[TopB]=x; } void PushC(int x){ TopC=TopC+1; Stack_C[TopC]=x; } int PopA(){ int x; x = Stack_A[TopA]; TopA=TopA-1; return(x); } 3. PEMBAHASAN 3.1 Modifikasi 2 Stack (Genap dan Ganjil) int PopB(){ int x; x = Stack_B[TopB]; TopB=TopB-1; return(x);

menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi yang sesuai. untuk

menghasilkan suatu executable-program. Shortcut mengkompile: ALT + F9 dipakai untuk melakukan pengecekan jika ada error pada program yang telah kita buat. CTRL + F9 dipakai untuk menjalankan program yang telah kita buat atau bisa juga dengan toolbar. mengklik tombol debug pada yang digunakan untuk

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

} int PopC(){ int x; x = Stack_C[TopC]; TopC=TopC-1; return(x); } void exchange(){ int i,n; n=TopA; for(i=0;i<=n;i++){ PushC(PopA()); } n=TopB; for(i=0;i<=n;i++){ PushA(PopB()); } n=TopC; for(i=0;i<=n;i++){ PushB(PopC()); } } main() { int x, i, n; Inisialisasi(); printf("Masukan Jumlah Data = "); scanf(" %i", &n); for(i=0;i<=n-1;i++){ printf("Data ke-%i = ",i+1); scanf("%i", &x); if(x%2==0){ PushA(x); }else if(x%2!=0){ PushB(x); } } printf("\nISI STACK A ADALAH ANGKA GENAP\n"); for (i=0;i<=TopA;i++) {printf ("\nStack_A [%i] = %i",i,Stack_A[i]);

} printf ("\nTop = %i",TopA); printf ("\nStack_A[TopA]= %i",Stack_A[TopA]); printf ("\n"); printf("\nISI STACK B ADALAH ANGKA GANJIL\n"); for (i=0;i<=TopB;i++) {printf ("\nStack_B [%i] = %i",i,Stack_B[i]); } printf ("\nTop = %i",TopB); printf ("\nStack_B[TopB]= %i",Stack_B[TopB]); printf ("\n"); exchange(); printf("Stack A = Genap"); for(i=0;i<=TopA;i++){ printf("\n S[%i]= %i", i+1, Stack_A[i]); } printf("\n"); printf("\nS[Top]=%i \n", Stack_A[TopA]); printf("\n"); printf("\nStack B = Ganjil"); for(i=0;i<=TopB;i++){ printf("\n S[%i]= %i", i+1, Stack_B[i]); } printf("\n"); printf("\nS[Top]=%i \n", Stack_B[TopB]); getch(); } 3.2 Kalender

#include <stdio.h> #include <conio.h> typedef struct Tanggal { int tanggal, bulan, tahun; }Tanggal;

Tanggal tambah (Tanggal x, Tanggal y){ Tanggal hasil; hasil.tanggal=x.tanggal+y.tanggal; hasil.bulan=x.bulan+y.bulan; hasil.tahun=x.tahun; return hasil; } Tanggal ubah (Tanggal hasil){ if (hasil.bulan==2){ if (hasil.tahun%4==0){ if (hasil.tanggal>29){ hasil.bulan=hasil.bulan+hasil.tanggal/29; hasil.tanggal=hasil.tanggal%29; if(hasil.tanggal==0){ hasil.tanggal=29; } } } else { if (hasil.tanggal>28){ hasil.bulan=hasil.bulan+hasil.tanggal/28; hasil.tanggal=hasil.tanggal%28; if(hasil.tanggal==0){ hasil.tanggal=28; } } } } else if (hasil.bulan==1||3||5||7||8||10||12){ if (hasil.tanggal>31){ hasil.bulan=hasil.bulan+hasil.tanggal/31; hasil.tanggal=hasil.tanggal%31; if(hasil.tanggal==0){ hasil.tanggal=31; } } } else { if (hasil.tanggal>30){ hasil.bulan=hasil.bulan+hasil.tanggal/30; hasil.tanggal=hasil.tanggal%30; if(hasil.tanggal==0){ hasil.tanggal=30;

} } } if (hasil.bulan>12){ hasil.tahun=hasil.tahun+hasil.bulan/12; hasil.bulan=hasil.bulan%12; if(hasil.bulan==0){ hasil.bulan=12; } } return hasil; } int main(){ Tanggal x; Tanggal y; Tanggal hasil; puts("masukan tanggal = "); scanf ("%d",&x.tanggal); printf("masukkan bulan = "); scanf ("%d",&x.bulan); printf("masukkan tahun = "); scanf ("%d",&x.tahun); printf("ditambah = "); scanf ("%d",&y.tanggal); hasil=tambah(x,y); hasil=ubah(hasil); printf("\ntanggal setelah dijumlahkan= %d-%d-%d" ,hasil.tanggal); getch(); } 3.3 Perpindahan

#include <stdio.h> #include <conio.h> #include <stdlib.h> int pushA(int); int pushB(int); int popA(int); int popB(int); void tukar(int*,int*); int TopA=-1; int TopB=-1; int Stack_A[10];

int Stack_B[10]; int n=10; int kali; main(){ int x,i,c; printf("jumlah data= "); scanf("%d",&kali); for(i=1;i<=kali;i++){ printf("data ke %d = ",i); scanf("%d",&x); if(x%2==0){ pushA(x); } else{pushB(x); } } printf("\n\nISI STACK GENAP\n\n"); if(TopA>-1){ for(i=0;i<=kali;i++){ printf("Stack_A[%d] = %d\n",i,Stack_A[i]); } printf("Top A = %d\n",TopA); printf("S[TopA] = %d\n\n",Stack_A[TopA]); }else{printf("STACK KOSONG\n\n"); }

printf("GENAP\n\n"); for(i=0;i<=kali;i++){ printf("Stack_A[%d] = %d\n",i,Stack_A[i]); } printf("Top A = %d\n",TopA); printf("S[TopA] = %d\n\n",Stack_A[TopA]); printf("GANJIL\n\n"); for(i=0;i<=kali;i++){ printf("Stack_B[%d] = %d\n",i,Stack_B[i]); } printf("Top B = %d\n",TopB); printf("S[TopB] = %d\n\n",Stack_B[TopB]); getch(); system("cls"); tukar(Stack_A,Stack_B); printf("SETELAH DI TUKAR\n\n"); printf("GANJIL\n\n"); for(i=0;i<=kali;i++){ printf("Stack_A[%d] = %d\n",i,Stack_A[i]); } printf("Top A = %d\n",TopA); printf("S[TopA] = %d\n\n",Stack_A[TopA]); printf("GENAP\n\n"); for(i=0;i<=kali;i++){ printf("Stack_B[%d] = %d\n",i,Stack_B[i]); } printf("Top B = %d\n",TopB); printf("S[TopB] = %d\n\n",Stack_B[TopB]); getch(); } int pushA(int x){ if(TopA<=n-1){ TopA = TopA++; Stack_A[TopA]= x; return Stack_A[TopA]; } }

printf("ISI STACK GANJIL\n\n"); if(TopB>-1){ for(i=0;i<=kali;i++){ printf("Stack_B[%d] = %d\n",i,Stack_B[i]); } }else{printf("STACK KOSONG\n\n"); } printf("Top B = %d\n",TopB); printf("S[TopB] = %d\n\n",Stack_B[TopB]); getch(); printf("Mau POP berapa kali: \n"); scanf("%d",&c); popA(c); popB(c); printf("ISI STACK SETELAH DI POP\n\n");

int pushB(int x){ if(TopB<=n-1){ TopB = TopB++; Stack_B[TopB]= x; return Stack_B[TopB]; } } int popA(int a){ int i; int x; for(i=0;i<a;i++){ Stack_A[TopA]=0; TopA=TopA-1; x=Stack_A[TopA];} return x; } int popB(int a){ int x; int i; for(i=0;i<a;i++){ Stack_B[TopB]=0; TopB=TopB-1; x=Stack_B[TopB];} return x; } void tukar(int a[],int b[]){ int i; int c[n]; int TopC; for(i=0;i<n;i++){ c[i]=a[i]; a[i]=b[i]; b[i]=c[i]; } TopC=TopA; TopA=TopB; TopB=TopC; }

3.4 Queue #include<stdio.h> #include<conio.h> #define n 10 int QA[n],QB[n], QC[n], CA, CB, CC ; int FA, FB, FC, RA, RB, RC; int Inisialisasi(){ CA=0; CB=0; CC=0; FA=0; FB=0; FC=0; RA=-1; RB=-1; RC=-1; } void InsertA(int x){ if(RA<n-1){ RA=RA+1; QA[RA]=x; CA=CA+1; }else{ printf("antrian penuh"); } } void InsertB(int x){ if(RB<n-1){ RB=RB+1; QB[RB]=x; CB=CB+1; }else{ printf("antrian penuh"); } } void InsertC(int x){ if(RC<n-1){ RC=RC+1; QC[RC]=x;

CC=CC+1; }else{ printf("antrian penuh"); } } int DeleteA(){ int x; x=QA[FA]; QA[FA]=0; FA=(FA+1); CA=CA-1; return x; } int DeleteB(){ int x; x=QB[FB]; QB[FB]=0; FB=(FB+1); CB=CB-1; return x; } void ResetA(){ FA=0; RA=-1; } float MeanB(){ int i,j=0; for(i=0;i<CB;i++){ j=QB[i]+j; } return j/CB; } float MeanC(){ int i,j=0; for(i=0;i<CC;i++){ j=QC[i]+j; } return j/CC; } main(){ int i,j,x; Inisialisasi(); printf("Jumlah data yang akan di isi? "); scanf("%i",&j); for(i=0;i<j;i++){ printf("Q_A[%i]= ", i); scanf("%i", &x); InsertA(x); } getch(); j=CA; for(i=0;i<j;i++){ x=DeleteA(); if(x%2!=0){ InsertB(x); }else if (x%2==0){ InsertC(x); } } ResetA(); printf("\n\nData Queue A dibagi ke 2 Queue\n"); printf("\nQueue B = Ganjil"); for(i=0;i<CB;i++){ printf("\nQ_B[%i] = %i ",i, QB[i]); } printf("\n\nRata-rata = %.2f", MeanB()); printf("\n\nQueue C = Genap"); for(i=0;i<CC;i++){ printf("\nQ_C[%i] = %i ",i, QC[i]); } printf("\n\nRata-rata = %.2f", MeanC()); getch(); j=CB; for(i=0;i<j;i++){ x=DeleteB(); if(x<50){ InsertA(x); } } printf("\n\nQueue B dengan nilai dibawah 50\n"); for(i=0;i<CA;i++){

printf("\nQ_A[%i] = %i ",i,QA[i]); } getch(); } 4. KESIMPULAN DAN SARAN 4.1 Kesimpulan Dari makahal ini dapat disimpulkan bahwa : 1. Bahasa C adalah sebuah bahasa dasar tingkat menengah yang sifatnya kompleks dan membangun logika atau algoritma 2. Bahasa C memiliki beberapa komponen, yaitu identifier atau pengenal, tipe data, deklarasi variable,assignment, konstanta, dan komentar. 3. Fungsi dari bahasa C adalah menampilkan hasil yang prototype-nya berada di file judul conio.h, menampilkan hasil yang prototype-nya berada di file judul isotream.h dan menampilkan hasil yang prototype-nya berada di file judul fungsi operasi matematika. 4.2 Saran Dalam mempelajari bahasa C ini disarankan untuk mendalami ilmu-ilmu mengenai bahasa C, mencari sumber yang lebih luas da akurat agar dapat mempelajarinya dengan mudah dan sesuai dengan yang kita inginkan.

http://baydillah.ngeblogs.com/2009/09/10/java-dansejarah-bahasa-c/ http://hamrio.blog.binusian.org/2009/09/27/sejarah-danperkembangan-bahasa-cpp/ http://www.google.co.id/url?sa=t&source=web&ct=res& cd=6&ved=0CBQQFjAF&url=http%3A%2F%2F badaiardiat.blogspot.com%2F2009%2F11%2Fkon sep-dasar-bahasa-c.html&rct=j&q=macammacam+sintak+di+c%2B%2B&ei=gUQzS7KlB4 yTkAXC29XyCA&usg=AFQjCNFAXLskYaCRg WJzJwmD0ctl7xwRyQ

BIODATA PENULIS Nama : Amreza Elwadi Nim : 3334131420 e-mail : elwadikarebo@gmail.com Nama : Bintang Purna Sari Nim : 3334130610 e-mail : purnabintang@ymail.com Nama : M. Arif Rachaman Nim : 3334132256 e-mail : moc.arif@gmail.com Nama : M. Kidam Hady Nim : 3334132302 e-mail : kidamhady16@gmail.com Nama : Panji Prabowo Mukti Nim : 333413178 e-mail : panji.prabowo79@gmail.com Nama : Rhea Werdaningsih Nim : 3334131716 e-mail : rheasswerda@gmail.com Nama : Try Alif Shandy Nim : 3334130142 e-mail : shandy_trialif@yahoo.com

DAFTAR PUSTAKA
http://nelly_sofi.staff.gunadarma.ac.id/Downloads/files/6 220/Pertemuan+1.ppt http://rani_push.staff.gunadarma.ac.id/Downloads/files/4 756/bahasa+C%2B%2B.doc http://cnc.stmikbaja.ac.id/index.php?option=com_conten t&task=view&id=18&Itemid=1

Anda mungkin juga menyukai