Blogger templates

Pages

Kamis, 31 Mei 2012

PENGENALAN BAHASA C


PENGENALAN BAHASA C
TURBO C++

1.1  TUJUAN PERCOBAAN
Mempelajari struktur bahasa C

1.2 TEORI DASAR
         Bahasa C merupakan salah satu bahasa pemrograman yang sangat populer di mata para pakar dunia komputer, terutama di kalangan pendidikan, karena bahasa C dianggap sebagai bahasa yang memiliki banyak keunnggulan dibanding bahasa yang lain. Dilihat dari sisi sintaksnya Bahasa C sangat mudah dipelajari baik bagi kalangan pelajar/mahasiswa maupun kalangan masyarakat umum, dan dari segi kecepatan Bahasa C sangat tangguh karena bisa berjalan secepat bahasa tingkat rendah (rakitan). Karena keunggulannya tersebut, bahasa C dipakai sebagai mata kuliah wajib hampir di seluruh perguruan tinggi di dunia.

Algoritma Pemrograman
         Algoritma memiliki pengertian suatu tahapan-tahapan yang dilakukan untuk menyelesaikan suatu masalah secara sistematis dan teratur. Algortima dapat diterapkan pada setiap keadaan mulai dari peristiwa sehari-hari bahkan hingga untuk pembuatan program computer.
Banyak program yang dapat kamu gunakan sebagai editor bahasa C, salah satunya adalah Turbo C tapi kelemahan dari software ini adalah tidak nyamannya dalam penggunaannya dikarenakan tampilannya yang kurang menarik dan sulitnya untuk melakukan Copy dan Paste. Mungkin pilihan terbaik yang dapat kamu gunakan sebagai editor Bahasa C adalah DevC.

Tipe Data
         Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif. Dalam bahasa C terdapat lima tipe data dasar, yaitu :

No
Tipe Data
Ukuran
Range (Jangkauan)
Format
Keterangan
1
char
1 byte
128 s/d 127
%c
Karakter/string
2
int
2 byte
32768 s/d 32767
%i , %d
Integer/bilangan bulat
3
float
4 byte
3.4E-38 s/d 3.4E+38
%f
Float/pecahan
4
double
8 byte
1.7E-308 s/d 1.7+308
%lf
Pecahan presisi ganda
5
void
0 byte
-
-
Tidak bertipe

Konstanta
         Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program. Konstanta dapat bernilai integer, pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14; 4.50005; ‘A’; ‘Bahasa C’. Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang
disebut karakter escape, antara lain :
         \a : untuk bunyi bell (alert)
         \b : mundur satu spasi (backspace)
         \f : ganti halaman (form feed)
         \n : ganti baris baru (new line)
         \r : ke kolom pertama, baris yang sama (carriage return)
         \v : tabulasi vertical
         \0 : nilai kosong (null)
         \’ : karakter petik tunggal
         \” : karakter petik ganda
         \\ : karakter garis miring

Variable
         Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut :
1         .      Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
2         .      Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara                 metal, dengan metal itu berbeda.
3         .       Tidak boleh mengandung spasi.
4         .       Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore), seperti : $,            ?, %, #, !, &, *, (, ), -, +, dsb.
5         .       Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.

Contoh penamaan yang salah : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
         Contoh penamaan variable yang salah : nilai_mahasiswa, 80%mahasiswa, rata-rata, ada spasi, penting!, dsb.

Deklarasi Variable
         Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi. Bentuk umum pendeklarasian suatu variable adalah :
Nama_tipe nama_variabel;
Contoh :
 
int x;
char y, huruf, nim[10];
float nilai;
double beta;
int array[5][4];

Contoh Penulisan Variabel
[code="c"]
#include
#include
void main()
{
    int x;
    float y;
    char z;
    double w;
    clrscr(); /* untuk membersihkan layar */
    x = 10; /* variable x diisi dengan 10 */
    y = 9.45; /* variable y diisi dengan 9.45 */
    z = ‘C’; /* variable z diisi dengan karakter “C” */
    printf(“Nilai dari x adalah : %i”, x); /* Menampilkan isi var x */
    printf(“Nilai dari y adalah : %f”, y); /* Menampilkan isi var y */
    printf(“Nilai dari z adalah : %c”, z); /* Menampilkan isi var z */
    getch();
}
 
[/code]

* Operator
         Jika ingin ditetapkan nilai suatu variabel, selain memerlukan nama variabel itu, juga diperlukan operator tertentu (disebut assignment operators). Misalnya, tanda “=” pada deklarasi variabel int i=22; adalah operator. C memiliki cara penulisan operator yang unik.

Operator Penugasan
Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama dengan (“=”). 
Contoh:
nilai = 80;
A = x * y;

Artinya : variable “nilai” diisi dengan 80 dan variable “A” diisi dengan hasil perkalian antara x dan y.
Operator Aritmatika
         *     : untuk perkalian
         /     : untuk pembagian
         %     : untuk sisa pembagian (modulus)
         +     : untuk pertambahan
         -     : untuk pengurangan

Catatan : operator % digunakan untuk mencari sisa pembagian antara dua bilangan.
Misalnya :
9 % 2 = 1   (9 : 2 = 8, sisa pembagian = 1)
9 % 3 = 0   (9 : 3 = 3, sisa pembagian = 0)

Berikut Disajikan Operator dalam bahasa C yang lebih lengkap
Operator
Arti
Contoh
()
memanggil fungsi
printf()
[]
elemen array (deret)
int y [11]
.
anggota struktur
ed.jumlah = 2200
!
NOT

++
inkremen(tambah satu satu)
i++;
dekremen(kurang satu satu)
i–;
&
address dari …
scanf(”%c”,&x);
*
isi dari …
*kata
*
perkalian
x=y*z;
/
pembagian
x=y/z;
%
modulo (sisa hasil bagi)
a=y % z;
+
tambah
X= Z+ Y;
-
kurang
Z = X - Y;
lebih kecil daripada
A < 30;
lebih besar daripada
B > 24;
<=
lebih kecil atau sama dengan
C <= 15;
>=
lebih besar atau sama dengan
D >= 29;
==
kesamaan
X == 20;
!=
ketidaksamaan
K != 4;
=
menetapkan nilai
x=3;

a*=2; (artinya a yang lama dikalikan dua)

Perintah Dasar “Printf” dan “Scanf”
         Kegunaan dari perintah “Printf” adalah untuk menampilkan/mencetak karakter yang ditulis ke dalam layar. Contoh program :
[code="c"]

# include
# include
Void main ()
{
    Printf(”Belajar Pemrograman Bahasa C”);
}
[/code]

         Perintah diatas digunakan untuk menampilkan tulisan “Belajar Pemrograman Bahasa C” pada layar. Sayangnya program diatas akan menampilkan tulisan hanya dalam waktu yang singkat, sehingga mata kita akan sulit menangkap tulisannya, maka dari itu kita harus menambahkan perintah Getch(); pada akhir program. Sehingga programnya akan menjadi seperti ini.
[code="c"]

# include “stdio.h”
# include “conio.h”
Void main ()
{
    Printf(“Belajar Pemrograman Bahasa C”);
    Getch();
}
[/code]

         Sebaliknya perintah “Scanf” digunakan untuk mengambil inputan yang dimasukkan oleh user melalui keyboard.
Contoh programnya :
[code="c"]

#include “stdio.h”
#include “conio.h”
void main()
{
    char nama[20];
    clrscr();
    printf(“Masukkan nama Anda : “);
    scanf(“%s”, &nama);
    printf(“Hello, Nama Anda adalah %s”, nama);
    getch();
}
[/code]

         Perintah diatas akan mencetak “Masukkan nama Anda” pada layar computer anda, printf(“Masukkan nama Anda : “); lalu program ini meminta anda untuk mengisikan data melalui keyboard dan data yang anda masukkan akan direkam scanf(“%s”, &nama); dan ditampilkan kembali menjadi “Hello, Nama Anda adalah Dedi” (misal nama yang anda ketikkan adalah “Dedi”) printf(“Hello, Nama Anda adalah %s”, nama);

Pernyataan If
Struktur percabangan dimana bentuk umum dari IF … adalah:
If (Kondisi)
{
Statement 1;

}
Contoh:
[code='c']
#include “stdio.h”
#include “conio.h”
Void main()
{
    int x;
    printf(”1. Nilai Bahasa Inggris\n”);
    printf(”2. Nilai Matematika\n”);
    scanf(”%d”,&x);
    if (x==1)
    printf(”Nilainya 85″);
    if (x==2)
    printf(”Nilainya 90″);
    getch();
}
[/code]
Pernyataan IF … ELSE
Bentuk umum dari IF … ELSE adalah:
If (Kondisi)
{
    Statement 1;
    Statement 2;
}
    else
{
    Statement 3;
    Statement 4;
    Statement dst;
}
Contoh:
[code='c']
#include “stdio.h”
#include “conio.h”
Void main()
{
    int x;
    printf(”1. Nilai Bahasa Inggris\n”);
    printf(”2. Nilai Matematika\n”);
    scanf(”%d”,&x);
    if (x =1)
{
    printf(”Nilainya 85″);
}
     if (x==2)
{
     printf(”Nilainya 90″);
}
     else
{
     printf(”Tidak ada nilainya”);
}
     return 0;
}
[/code]

Pernyataan Switch
Bentuk umum dari Swicth … Case adalah:
switch(skor)
{
    case 1: …
               break;
    case 2: …
               break;
….
}

Contoh:
[code='c']
#include “stdio.h”
#include “conio.h”
Void main()
{
    int x;
    printf(”1. Nilai Bahasa Inggris\n”);
    printf(”2. Nilai Matematika\n”);
    scanf (”%d”, &x)
    switch (x)
{
{
    case 1: printf(”Nilainya 85″); break;
    case 2: printf(”Nilainya 90″); break;
    default: printf(”Tidak ada nilainya”);
}
    Getch();
}
[/code]

Lampiran Program

/*Program 1*/
[code='c']
#include “stdio.h”
#include “conio.h”
//Program untuk menghitung luas lingkaran
main()
{
    float pi = 3.1415;
    float r;
     printf (”Jari-jari lingkaran = “);
    scanf (”%f”, &r);
    printf (”Luas lingkaran = %f”, pi * r * r);
    getch();
}
[/code]

/*Program 2*/
[code='c']
#include “stdio.h”
#include “conio.h”
//Program untuk mengetahui nilai suatu inputan
main()
{
    int a;
    printf (”Ketikkan suatu nilai integer :”);
    scanf (”%d”, &a);
    if (a > 0)
{
    printf (”Nilai yang anda masukkan bernilai positif %d “, a);
}
    else if (a == 0)
{
    printf (”Nilai Nol %d “, a);
}
    else /* a > 0 */
{
     printf (”Nilai yang anda masukkan bernilai negatif %d “, a);
}
     getch();
}
[/code]

/*Program 3*/
[code='c']
//menghitung keliling segitiga
#include “stdio.h”
#include “conio.h”
main()
{
    int a,b,c,K;
    printf(”Masukan nilai a = “);
    scanf(”%i”,&a);
    printf(”Masukan nilai b = “);
    scanf(”%i”,&b);
    printf(”Masukan nilai c = “);
    scanf(”%i”,&c);
    K = (a+b+c);
    printf(”Keliling segitiga adalah %i”, K);
    getch();
}
[/code]


MATLAB LANJUTAN



MATLAB LANJUTAN

1.1  Tujuan Percobaan
Mempelajari dan memahami tentang matlab lanjutan.
1.2  Teori Dasar
Matriks, ialah sekelompok bilangan yang tersusun dalam  matriks segi-empat 2-dimensi.  Di dalam MATLAB didefinisikan dengan jumlah baris dan kolomnya.  Di MATLAB terdapat pula matriks berdimensi 3, 4, atau lebih, namun dalam blok  ini kita batasi hingga 3-dimensi saja. Matriks didefinisikan dengan kurung siku ( [ ] ) dan biasanya dituliskan baris-per-baris.   Tanda koma (,) digunakan untuk memisahkan kolom, dan titik-koma (;) untuk memisahkan baris.  Kita juga bisa menggunakan spasi untuk memisahkan kolom dan menekan Enter ke baris baru untuk memisahkan baris. Ada tiga cara untuk menuliskan matrik pada matlab yaitu:
1. pembuatan matriks yang menggunakan tanda (;) untuk memisahkan antar baris.
2. pembuatan matriks yang menggunakan (enter) untuk memisahkan antar baris.
3. pembuatan matriks dengan cara masing-masing baris didefinisikan menggunakan variabel-variabel yang diikuti tanda (;) kemudian variabel-variabel tersebut  disatukan menggunakan tanda (;) pada varibel baru.
Contoh cara 1 , misal ada matiks A yang berukuran 3×3, maka penulisannya pada matlab yaitu A=[1 2 3;4 6 -7;2 8 4] nantinya hasil dalam matlab jadinya 
A=[   1 2 3
4 6 -7
2 8  4 ]
contoh cara 3, nah cara ini makin boros banget kebanyakan variabel, yukk langsung aja gimana bikinnya,
A1=[1 2 3];
A2= [4 6 -7];
A3=[2 8 4];
A=[A1;A2;A3]
hasilnya juga akan sama..pada cara 3 ini bermanfaat jika matriksnya berukuran cukup besar dan mengandung beberapa elemen yang sama. misalnya:
1. UKURAN MATRIKS
Untuk mengetahui ukuran atau dimensi dari matriks yang ada, kita bisa gunakan command size dan lengthsize umumnya digunakan untuk matriks 2-dimensi, sementara length untuk vektor.
contohnya:
>> size(matrix1)
ans =
3 3
ukuran matrix1 ialah 3-baris 3-kolom (33).  Kita juga bisa menyimpan keluaran command dalam variabel baru. maka sintaks yang digunakan adalah:
contoh
>> [jml_baris,jml_kolom]=size(gabung5)
jml_baris =
3
jml_kolom =
6
Sementara itu, untuk menghitung jumlah elemen dari suatu matriks, kita pergunakan command prod.  Misalkan untuk matriks gabung5, jumlahelemennya ialah;
>> jml_elemen=prod(size(gabung5))
jml_elemen =
18
2. MATRIKS KHUSUS
MATLAB menyediakan berbagai  command untuk membuat dan memanipulasi matriks secara efisien.  Di antaranya ialah command untuk membuat matriks-matriks khusus, manipulasi indeks matriks, serta pembuatan deret.  Mari kita bahas terlebih dahulu mengenai matriks khusus. Berbagai matriks khusus yang kerap kita pergunakan dalam perhitungan bisa dibuat secara efisien dengan command yang telah ada di MATLAB.
untuk lebih jelas, perhatikan contoh berikut:
>> mat_1=5*ones(2,4)
mat_1 =
5     5     5     5
5     5     5     5
>> mat_2=zeros(2,4)
mat_2 =
0     0     0     0
0     0     0     0
>> mat3=[eye(4) ones(4)*-2]
mat3 =
1     0     0     0    -2    -2    -2    -2
0     1     0     0    -2    -2    -2    -2
0     0     1     0    -2    -2    -2    -2
0     0     0     1    -2    -2    -2    -2
>> bil_acak_uniform=rand(1,10)
bil_acak_uniform =
Columns 1 through 6
0.8147    0.9058    0.1270    0.9134    0.6324    0.0975
Columns 7 through 10
0.2785    0.5469    0.9575    0.9649
>> gaussian_noise=randn(5,1)
gaussian_noise =
-0.4326
-1.6656
0.1253
0.2877
-1.1465
Misalkan kita ingin membuat 20 buah bilangan acak gaussian dengan rata-rata = 5 dan varians = 3.  dengan sintaks sebagai berikut :
>> mu=5; %Nilai mean
varians=3; %Nilai variansi
>>bil_acak_gaussian= sqrt(varians)*randn(1,20) + mu
untuk hasil atau outputnya dapat pembaca mempraktekan sintaks tersebut
Matlab adalah singkatan dari Matrix Laboratory, software yang dibuat dengan menggunakan bahasa ini dibuat oleh The Mathworks.inc dan telah memasuki versi 6.5 Rilis 13. kekuatan matlab terletak pada :
1.      Kemudahan manipulasi struktur matriks.
2.      Jumlah routine-routine powerful yang berlimpah yang terus
berkembang.
3.      Kekuatan fasilitas grafik tiga dimensi yang sangat memadai.
4.      Sistem scripting yang memberikan keleluasaan bagi pengguna untuk mengembangkan dan memodifikasi software untuk kebutuhan sendiri. 5. Kemampuan interface( misal dengan bahasa C, word dan mathematica).
5. Dilengkapi dengan toolbox, simulink, stateflow dan sebagainya, serta mulai melimpahnya source code di internet yang dibuat dalam matlab( contoh toolbox misalnya : signal processing, control system, neural networks dan sebagainya). Semua itu merupakan perangkat yang powerful untuk menyelesaikan permasalahan sains dan teknik terutama untuk wilayah dimana komputasi numerik harus dibuat.
GUI di Matlab Ketika kita membuka GUI Matlab kita bisa melihat lihat dan mencoba coba perintah pada GUI tersebut dan untuk lebih jelasnya bisa dilihat dalam demo tersebut. Kita bisa melihat contoh contoh program dan bisa disave dengan ektension .m(yang merupakan ektensi dari file matlab)
3.Looping
Looping adalah sesuatu proses yang dikerjakan secara berulang-ulang. Dalam pemrograman, looping ini harus berhenti pada suatu keadaan tertentu.
Secara umum, ada 2 hal yang dapat digunakan untuk menghentikan looping (stopping condition), yaitu:
·    Berdasarkan jumlah looping, artinya looping akan berhenti setelah mencapai jumlah perulangan tertentu
·      Berdasarkan syarat tertentu, artinya looping akan berhenti bila telah terpenuhinya suatu syarat/kondisi.
Dalam bahasa pemrograman, terdapat statement looping untuk mengakomodasi dua keadaan di atas, yaitu bentuk FOR dan WHILE.
Bila dijumpai looping yang diketahui jumlah perulangannya, maka kita bisa menggunakan FOR atau WHILE.
Sedangkan bila dijumpai looping yang tidak diketahui jumlah perulangannya, atau hanya diketahui syarat berhentinya perulangan, maka kita hanya bisa menggunakan WHILE saja.
Contoh perulangan yang diketahui jumlah perulangannya sehingga dapat dituliskan dengan FOR atau WHILE (dalam Pascal).
1.for mangkuk := 1 to 10 do
2.begin
3.writeln('Saya makan bakso mangkuk ke-', mangkuk);
4.end;
bila dinyatakan dalam WHILE menjadi
1.mangkuk := 1;
2.while (mangkuk <= 10) do
3.begin
4.writeln('Saya makan bakso mangkuk ke-', mangkuk);
5.mangkuk := mangkuk + 1;
6.end;
Perulangan yang tidak diketahui jumlah perulangannya, bisa menggunakan WHILE. Dalam contoh ini, program akan terus meminta input user selama input yang dimasukkan bukan 0.
1.input = 1;   // kita buat nilai awal sebarang, asal bukan 0.
2.while (input <> 0) do
3.begin
4.write('Masukkan sebarang input : ');
5.readln(input);
6.end;

4. Operasi Skalar dengan Array
MATLAB menyediakan operasi hitung antara skalar dengan array. Operasi hitung yang dapat dilakukan antara skalar dengan array adalah penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan.

Khusus untuk operasi pembagian I dan operasi perpangkatan dipakai juga simbol dot (.) sebelum bagi dan pangkat.
Contoh :
>>k=5;
>>a=[-1 2 1 3];
>>k+a
ans =
4     7     6     8

Plot sederhana akan diperlihatkan sebagai contoh fasilitas grafik MATLAB, dari berbagai macam fasilitas grafik MATLAB yang sangat luas. Plot-plot ini biasa digunakan untuk interpretasi data, dimulai dengan menentukan fungsi plot yang merupakan perintah umum untuk plotting dua dimensi (2D). Bentuk plot sederhana adalah sebagai berikut.

5. Plot(x,y)
Berikut ini plot garis pada sumbu x dan y. Jika x dan y adalah matrik, kolom pertama adalah plot untuk x, kemudian kolom pertama y selanjutnya diulang untuk setiap pasangan kolom x dan y, sebagai contoh >> x=linspace (0,2*pi, 10); >> y=sin(x); >> plot(x,y)


Kode-kode ini merupakan plot fungsi sin(x) menggunakan perkalian 10 ruang titik pada interval 0 dan 2π. Jika nilai titik meningkat, plot fungsi sin(x) akan menjadi lebih halus, seperti berikut ini. >> x=linspace (0,2*pi, 40); >> y=sin(x); >> plot(x,y)


Sumber:
http://blog.student.uny.ac.id/nurhidayah/2011/04/01/matriks-menggunakan-matlab/