Minggu, 16 Mei 2010

Laporan Praktikum Fisdas II

KAPASITAS KAPASITOR
(Percobaan L-2)
A. PELAKSANAAN PRAKTIKUM
1. Tujuan : -Menentukan kapasitas kapasitor yang tidak diketahui melalui perbandingan dengan bantuan pembagian tegangan kapasitif.
-Menentukan kapasitas kapasitor lempeng
2. Hari,tanggal : Selasa,12 Mei 2009
3. Tempat : LAboratorium Fisika Dasar FMIPA Universitas Mataram

B. ALAT DAN BAHAN
Alat:
1. Power supply 450W
2. Kabel penghubung
3. Stopwatch
4. Multimeter
Bahan:
1. Kapasitor
2. Kapasitor 10µF

C. LANDASAN TEORI
Kapasitor adalah piranti yang berguna untuk menyimpan muatan dan energi. Kapasitor terdiri atas dua konduktor yang berdekatan tetapi terisolasi satu sama lain dan membawa muatan ang sama besar dan berlawanan. Kapaitor memiliki banyak kegunaan. Pemberi cahaya kilat pada kamera dan menggunakan suatu kapasitor untuk menyimpan energi yang diperlukan untuk mencari cahaya kilat secara tiba-tiba. Kapasitor juga dipergunakan untuk memperhalus gerak yang timbul ketika srus bolak-balik dikonversi menjadi arus searah pada suatu daya, sehingga dapat digunakan pada kalkulator atau radio ketika baterai tidak dapat digunakan(Tiler,1996:109).
Dengan adanya lapisan isolator pada kapasitor arus tidak dapat mengalir melewati kapasitor. Kapasitor akan tetap bermuatan hingga waktu yang tak terbatas. Dengan alasan ini, kapasitor sangat berguna untuk menyimpan muatan listrik(Bishop,2004:40).
Kapasitor adalah alat yang sangat beguna, sangat penting artinya bagi para insinyur dan fisikawan,sebab:(Halliday,1984:143-144).
a. Sebuah kapasitor dapat digunakan untuk menghasilkan konvigurasi medan listrik yang diinginkan untuk berbagai tujuan tertentu
b. Dengan menganalisa sebuah kapasitor bermuatan, kita daoat memperlihtkan bahwa tenaga listrik dapat dianggap tersimpan dalam medan listrik diantara plat-plat tersebut dan semuanya memang tersimpan didalam setiap muatan. Bagimana medan listrik dihasilkan karena kapasitor dapat membatasi medan listrik yang kuat ke volume kecil, maka kapasitor dapat berfungsi sebagai yang digunakan untuk menimpan tenaga
c. Zaman elektronika tidak mungkn ada tanpa kapasitor. Kapasitor tersebut digunakan di dalam kecilnya dengan alat-alat lain untuk mereduksi fluktuasi tegangan di dalam gerakan elektronika untuk meneruskan sinyal-siyal berbentuk pulsa, untuk menghasilkan atau mendeteksi osilasi elektromagnetik pada frekuensi radio, untuk menyediakan tanpa waktu elektronik dan di dalam hal lain.


D. PROSEDUR KERJA
1. Disusun rangkaian kapasitor dengan menggunakan sumber tegangan dari power supply
2. Diuji tegangan dengan cara memasukkan plug C ke dalam soket A. Dicatat tagangan pada voltmeter(Uo) dan dimasukkan plug C ke dalam soket B
3. Percobaan 1. Dikosongkan kapasitor C1 dengan cara menghubungsingkatkan dengan batang penghubung dengan soket pada penguat elektrometr. Dilakukan hal yang sama pada C2 dan plug tetap pada posisi bebas. Dicatat potensial pada voltmeter(U1)
Percobaan 2. dilakukan seperti percobaan 1, tetapi dengan harga kapasitor yang berbeda C1=10nF, C2=1nF dan dicatat tegangan U1
Pecoban 3. Kapasitas kapasitor lempeng
a. Ditempatkan sekat-sekat 1mm pada pojok-pojoklempeng tempatkan pasangan lempeng pada tepi meja dan dihubungkan kabel pada lempeng atas;panjang 10cm dan dihubungkan dengan adapter 4mm
b. Dicek tegangan Uo seperti percobaan 1, kemudian dikosongkan kapasitor lempeng dan kapasitor 1nF dengan menghubungsingkatkan dengan batang penghubung, kemudian dimasukkan kapasitor 1nF pada posisi yang sudah ditandai. Dicatat tegangan U1.


E. HASIL PENGAMATAN
1. Kapasitas kapasitor yang tidak diketahui
C2 = 10µF
C1 = …?
Sumber
(Volt) Tegangan pada V1
(Volt) Tegangan pada V2 (Volt)

2 6,8 22,2
4 7,3 18,3
6 10,3 18,9
8 10,6 36,4
10 14,7 78,4
2. Kapasitas kapasitor lempeng
C1 = 0,5 µF



F. ANALISA DATA

1. Menentikan nilai kapasitas kapasitor yang yang belum diketahui

a. C1×V1 = C2×V2
C1×6,8V = 10µF×22,2V
C1 = 10µF×22,2V/6,8V
= 32,65µF

b. C1×V1 = C2×V2
C1×7,3V = 10µF×18,3V
C1 = 10µF×18,3V/7,3V
= 25,07µF

c. C1×V1 = C2×V2
C1×10,3V = 10µF×18,9V
C1 = 10µF×18,9V/10,3V
= 18,35µF

d. C1×V1 = C2×V2
C1×10,6V = 10µF×36,4V
C1 = 10µF×36,4V/10,6V
= 34,34µF

e. . C1×V1 = C2×V2
C1×14,7V = 10µF×78,4V
C1 = 10µF×78,4V/14,7V
= 53,33µF

Rata-rata = (32,65+25,07+18,35+34,34+53,33)µF / 5
=163,74µF / 5
= 32,748µF

2. Kapasitas kapasitor lempeng
Dari hasil pengukuran denganmenggunakan multimeter, diperoleh bahwa nilai C1 = 0,5µF. Dengan membandingkan nilai kapasitas kapasitor hasil perhitungan dengan hasil pengukuran, terlihat nilai yang sangat jauh berbeda diantara keduanya.

G. PEMBAHASAN
Kapasitas kapasitor adalah suatu kemampuan atau kapsitif dari suatu bahan untuk menyimpan muatan listrik. Semakin besar kapasitas dari suatu kapasitor maka muatan yang disimpan juga semakin besar.
Pada praktikum ini, akan ditentuka nilai kapasitas dari kapasitor yang diketahui melalui perhitungan rumus atau secara matematis. Nilai kapasitas kapasitor bisa ditentukan dengan mengetahui terlebih dahulu jenis rangkain listrik yang digunakan. Jenis rangkain yang digunakan pada praktikum kali ini adalah rangkain seri. Pada rangkaian seri, muatan yang tersimpan masing-masing kapasitor adalah sama atau secara matematis dapat dituliskan:
Q1 = Q2
C1*V1 = C2*V2
Besarnya muatan yang dihasilkan pada psoses pengamatan dengan menggunakan waktu t = 5dt untuk setiap sumber tegangan pada masing-masing pngamatan. Dari hasil pengamatan semakin besar sumber tegangan yang digunakan, maka semakin besar pula tegangan pada V1. dengan mengetahui nilai pada C2 = 10µF, maka besarnya nilai C1 bisa ditentukan.
Dari analisa data diatas, terlihat nilai kapasitas kapasitor 1 (C1) yang bervariasi yaitu berturut-turut 32,65µF, 25,07µF, 18,35µF, 34,34µF dan 53,33µF. Nilai ini ditentukan oleh besarnya teganga yang telah diukur pada masing-masing kapasitor yaitu nilai nilai tegangan pada C1 dan nulai tegangan pada C2.
pada penentuan nilai kapasitor lempeng dengan menggunakan multimeter, terlihat nilai C1 = 0,5µF. Hal ini sangat jauh berbeda dengan niali C1 pada hasil perhitungan. Perbedaan ini selain disebabkan karena alat ukur yang digunakan, juga dipengaruhi oleh kondisi fisik kapasitor yang digunakan. Kapasitor yang sudah lama, selai sudah sering tergores oleh benda lain juga dapat mengurangi jumlah muatan yang bisa tersimpan di dalamnya sehingga nilai kapasatas kapasitornya juga berkurang.


H. KESIMPULAN DAN SARAN
Kesimpulan
Dari analisa dan pembahasan di atas, dapat ditarik kesimpulan:
1. Kapasitas kapasitor merupakan suatu ukuran kemampuan suatu bahan(kapasitif) untuk menyimpan muatan listrk.
2. Pada rangkaian seri, muatan yang tersimpan pada masing-masing kapasitor adalah sama, diasumsikan:
Q1 = Q2
C1*V1 = C2*V2
3. Semakin besar sumber tegangan yang digunkan, maka nilai tegangan pada V1 juga semakin besar.
4. Nilai C2 = 10µF, nilai yang dihasilkan dari analisa data di atas pada C1 berturut-turut yaitu 32,65µF, 25,07µF, 18,35µF, 34,34µF dan 53,33µF.

Saran
Alhamdulillah praktikum berjalan lancer.
Untuk CoAss, terima kasih atas bimbingannya.

Sabtu, 10 April 2010

PEMANTULAN RELATIVISTIK

Pemantulan cahaya dalam kerangka acuan inersial pada dasarnya merupakan suatu analisis terhadap alihragam sistem koordinat dan konsekuensi dari teori kerelatifan ruang-waktu. Analisis terhadap sistem koordinat berarti menghubungkan suatu peristiwa (event) dalam kerangka acuan inersial yang satu ke kerangka acuan inersial lain sehingga diperoleh bentuk ataupun nilai yang baru. Prinsip relativitas khusus menyarankan bahwa tidak terdapat perbedaan setiap hukum fisis antara kerangka rehat dan bergerak seragam, pada umumnya, peristiwa fisis diinterpretasikan dengan nilai yang sama.

Dalam Teori Relativitas Khusus, Hukum-hukum fisis diformulasikan sedemikian, sehingga hukum-hukm tersebut identik untuk semua kerangka acuan inersial. Dalam batas non-relativistik, hukum fisika invarian terhadap alihragam Galileo, yaitu bahwa tidak terdapat kecepatan absolut (Brown; 1997:13). Konsekuensi dari Teori Relativitas Khusus tersebut, maka hukum pemantulan cahaya haruslah invarian bagi setiap pengamat dalam kerangka inersialnya.

Permasalahan yang sering muncul dalam penjalaran gelombang elektromagnetik adalah terdapatnya efek aberasi yang teramati oleh pengamat yang bergerak relatif. Fenomena tersebut secara tidak langsung telah diselidiki Brown pada tahun 1983. Penelitian ini dilakukan untuk menelaah perbedaan antara prinsip Hero dan Fermat mengenai lintasan cahaya. Hasilnya adalah prinsip Hero dan Fermat tampak berbeda dalam perspektif klasik tetapi menghasilkan nilai yang sama dalam perspektif relativistik (Brown: 1983: 132). Perbedaan ini ditimbulkan oleh adanya efek aberasi sinar cahaya sebagai akibat dari gerak relatif cermin yaitu adanya pergeseran titik refleksi yang tampak oleh pengamat yang bergerak. Dalam menganalisisnya, Brown tidak menggunakan Prinsip Relativitas Khusus melainkan dengan menelaah secara geometri berdasarkan prinsip Hero dari kerangka cermin dan lintasan cahaya terpendek berdasarkan prinsip Fermat dari kerangka sumber. Oleh karena itu, perlu ditinjau kembali hukum pemantulan cahaya dari kerangka yang bergerak dalam perspektif mekanika relativistik. kemudian hasilnya ditelaah secara numerik. Hal ini penting dilakukan, karena sifat-sifat pemantulan akan bergantung pada gerak relatifnya. Artinya, secara fisis hukum pemantulan bergantung pada kecepatan relatif pengamat dan hukum pemantulan cahaya haruslah sama dalam setiap kerangka inersial.

Kemunculan efek aberasi pada sudut datang dan sudut pantul memungkinkan untuk dapat menganalisis dengan komputasi numerik hukum pemantulan cahaya, untuk menelaah konsistensi hukum tersebut dalam kerangka yang bergerak melalui komputasi numerik. Secara numerik, perubahan posisi sudut menurut kerangka yang bergerak dapat ditentukan oleh fungsi spline yaitu suatu fungsi matematis yang menginterpolasi data sedemikian, sehingga interpretasi data tersebut dapat berbentuk polinomial linear, kuadratik atau bentuk kubik tergantung bagaimana jenis interpolasi yang dipilih.

Permasalahan lain yang muncul adalah menentukan hubungan antara efek aberasi sebagai fungsi dari sudut datang ataupun sudut refleksi secara numerik, karena secara eksak sulit untuk ditentukan. Secara teoretis, ditentukan dengan mengalihragamkan sistem koordinat. Dengan demikian, secara numerik, ditentukan oleh syarat orientasi cermin terhadap sumbu-sumbu koordinatnya dan fungsi spline. Akibat adanya efek aberasi sebagai konsep relatif dalam pemantulan, bentuk permukaan cermin yang tampak oleh pengamat bergerak haruslah relatif bergantung pada pengamat dan menjadi problematik yang menarik untuk diteliti dengan komputasi numerik.

Sejauh ini, kita masih membahas hukum pemantulan cahaya dalam kerangka yang rehat dan banyak dijumpai di beberapa literatur maupun buku ajar fisika. Telaah mengenai hukum pemantulan dalam kerangka yang bergerak belum dilakukan di Universitas Negeri Gorontalo. Oleh karena itu, peneliti tertarik untuk menelaah fenomena ini dari sudut pandang Teori Relativitas Khusus dengan analisis numerik.

Dalam penelitian ini, ditinjau kembali sifat-sifat hukum pemantulan cahaya. Pada awalnya, hukum tersebut ditinjau dalam bentuk skalar, kemudian dikembangkan ke dalam bentuk vektor. Analisis bentuk skalar dibahas dalam bentuk analitik melalui alihragam sistem koordinat sedangkan yang lain dalam bentuk vektor atas pertimbangan geometri. Pada bagian pertama, kita akan menyelidiki fenomena aberasi relativistik sinar datang. Pada bagian kedua, kita akan menyelidiki fenomena fisis sinar refleksi. Semuanya ditelaah dengan menentukan sistem koordinat dan aljabar biasa. Setelah diperoleh bentuk persamaan koordinatnya maka dialihragamkan menurut alihragam Lorentz khusus kemudian ditentukan secara numerik.

Materi hari keempat MK Pemrograman

Input dan output program
Kadang kala kita ingin memberi input untuk
program yang kita buat tanpa melalui keyboard
tetapi dengan menggunakan file. Ini bisa
dilakukan dengan menggunakan tanda <. Ini bisa
dilakukan di linux dan cygwin.
$./coba.exe < inputfile
Tentunya inputfile berisi semua data yang
dibutuhkan oleh program, seperti kita mengetik
satu per satu.
Input <
Kadang kala juga kita ingin output dari program
bukan ke layar melainkan ke sebuah file. Ini bisa
dilakukan dengan menggunakan tanda >.
$./coba.exe > outputfile
$./coba.exe >> outputfile
Cara pertama: file baru dibuat setelah itu baru diisi
dengan output program
Cara dua: jika nama file sudah ada, output
program ditambahkan dalam file tersebut.
Output >, >>
Jika input dari sebuah file dan output ke sebuah
file juga bisa dilakukan sekaligus dengan
$./coba.exe <> outputfile
Input <>, >>
Pointer
Jika kita deklarasikan sebuah variabel, contohnya,
float g;
maka
&g adalah merupakan “alamat dari” variabel g.
cout << g; // luaran adalah nilai variabel g
cout << &g; // luaran adalah alamat variabel g
Operator &
Sebuah pointer adalah sebuah variabel yang
isinya alamat sebuah variabel lain.
Cara deklarasi pointer: dengan menambahkan
tanda * sebelum nama variabelnya seperti ini:
Tipe *nama;
int *a; // sebuah pointer tipe int
float *b[2]; // sebuah array pointer
Apa itu pointer?
Jika kita deklarasikan sebuah pointer, contohnya,
float *p;
maka
*p adalah merupakan nilai pada alamat sebuah
variabel. “nilai yang ditunjukkan oleh” p.
p = &a;
cout << p; // luaran adalah alamat variabel a
cout << *p; // luaran adalah nilai variabel a
Operator *
int main()
{
float a; // variabel tipe float
float *p; // sebuah pointer tipe float
a = 2.3;
p = &a; //variabel p berisi alamat variabel a
cout << a << endl;
*p = 4.2; // kita ubah nilai variabel a
cout << a << endl;
}
Contoh
Sebuah pointer juga bisa berisi alamat sebuah
array.
int *p, b[10];
p = b; // ingat tanpa & karena sebuah array
// atau bisa juga dengan
p = &b[0];
Pointer p menunjukkan alamat element pertama
array b.
Pointer dan Array
Operasi yang bisa dilakukan selain menggunakan
* adalah + penambahan dan – pengurangan.
contoh:
int *p, b[10];
p = b; // p menunjuk ke alamat b[0]
p = p + 1; // p menunjuk ke alamat b[1]
p--; // kembali ke alamat b[0]
p = p + 5; // p menunjuk ke alamat b[5]
Operasi Pada Pointer
int main()
{
float a[4]={2,4,6,8}; // array variabel tipe float
float *p; // sebuah pointer tipe float
p = a;
cout << *p; // nilai a[0] yaitu 2
cout << *(p+3); // nilai a[3] yaitu 8
*p = 5; // kita ubah nilai variabel a[0] = 5
*(p+2) = 3; // a[2] = 3
}
Contoh
*p++; // ini membingungkan mana yang lebih
dulu ++ atau *
Sebaiknya ditulis
*(p++); // atau
(*p)++; // bedanya apa?
Operasi Pada Pointer
Sebuah pointer bisa juga menunjukkan alamat ke
sebuah pointer. Untuk deklarasi pointer ini dengan
menambahkan lagi tanda * sebelum nama
variabel.
float x;
float *y = &x; // pointer
float **z = &y; // pointer ke pointer
z menunjukkan ke y dan y menunjuk ke x;
Pointer menunjuk pointer
Sebuah null pointer adalah sebuah pointer biasa
yang tidak menunjuk ke variabel manapun.
float *x = 0;
x tidak menunjuk manapun.
Null Pointer
Selain itu pointer juga bisa menunjuk ke sebuah
fungsi. Ini karena definisi fungsi memiliki
alamat/alokasi memory tersendiri di memory
komputer. Caranya dengan memberi kurung pada
nama fungsi dan diberi tanda * sebelum nama
seperti ini:
float (*akar)(float x);
Pointer untuk fungsi
float hitung(float x, float (*operasi)(float))
{
return (*operasi)(x);
}f
loat akar2(float x)
{
return sqrt(x);
}
int main()
{ float y = 2, z;
float (*a2)(float) = akar2;
z = hitung(y,a2);
....
Contoh
Deretan huruf
Array huruf atau karakter
Sebuah kata atau kalimat bisa dibuat dengan
menggunakan deretan huruf atau array char.
char nama[30];
char nama[30]={'N','E','W','T','O','N'};
char nama[30]=”NEWTON”;
Setelah akhir kata diisi dengan null character “\0”.
[N|E|W|T|O|N|\0| | | |...]
char
Cara lain:
char [] nama={'N','E','W','T','O','N'};
char [] nama=”NEWTON”;
Disini besar array ditentukan secara automatis
sesuai dengan jumlah huruf dan null character.
char
Memori Dinamik
Dalam membuat array, kita mendeklarasi dengan
float s[100];
Dengan deklarasi ini, komputer mengalokasikan
memori untuk menampung 100 varibel yang
bertipe float. Besarnya array s tidak bisa diubah
atau statik.
Jadi jika kita menggunakan cara ini kita harus
menyiapkan jumlah array yang cukup. Jika kurang
akan terjadi error.
Memori statik
Jika kita memiliki array yang besarnya/ukurannya
bisa berubah kita perlu mengunakan array
dinamik. Caranya dengan menggunakan operator
new dan new [].
Memori Dinamik
Untuk menggunakan operator new, kita perlu
menambahkan
#include
Caranya:
Pointer = new tipe[jumlahnya];
float *a; // pointer untuk alokasi memory
a = new float[30];
Operator new dan new []
Jika kita tidak memerlukan lagi alokasi memori,
kita perlu mendelete array itu agar bisa digunakan
untuk hal yang lain.
Caranya:
delete pointer; // untuk satu elemen
delete [] pointer; // untuk array
Operator delete dan delete []

Materi hari ketiga MK Pemrograman

Fungsi dan Array
Di setiap program C++, kita harus
mendefinisikan /mendeklarasikan fungsi main(),
karena fungsi main() yang dilakukan pertama.
int main()
{.
.....
return 0;
}
Fungsi
Format deklarasi fungsi:
Tipe NamaFungsi(deklarasi parameter)
{
----- isi fungsi
return sesuatu;
}
Tipe – Tipe nilai yang di hasilkan oleh fungsi
Deklarasi parameter – Ini berbentuk “tipe nama
variabel”.
{ --- } - Menandakan awal dan akhir fungsi.
return sesuatu – Akhiri program dan kembalikan
nilai fungsi
Fungsi
Ada Dua Cara:
1) Deklarasi dan definisi sebelum fungsi main()
2) Deklarasi sebelum dan definisi sesudah fungsi
main()
Deklarasi Fungsi
#include
using namespace std;
// deklarasi dan definisi
double tambah(double a, double b)
{
return (a+b);
}
int main()
{
cout << tambah(3, 5);
}
Fungsi, Cara 1
#include
using namespace std;
double tambah(double a, double b); // deklarasi
int main()
{
cout << tambah(3, 5);
}/
/ definisi
double tambah(double a, double b)
{
return (a+b);
}
Fungsi, Cara 2
#include
using namespace std;
double seratus(void); // deklarasi
int main()
{
cout << seratus;
}/
/ definisi
double seratus(void)
{
return 100;
}
Fungsi, Void 1
#include
using namespace std;
void cetakgaris(void); // deklarasi
int main()
{
cetakgaris();
}/
/ definisi
void cetakgaris(void)
{
cout << “--------------------------------------”;
}
Fungsi, Void 2
Cara 1) Input menggunakan nilai
Seperti sebelumnya:
double tambah(double a, double b);
Cara 2) Dengan menggunakan
referensi
Dua Cara Input/masukan Fungsi
#include
using namespace std;
void limakali(double &x); // deklarasi
int main()
{ double a = 2;
limakali(a); // a = 2*5
}
void limakali(double &x)
{
x *= 5;
}
Fungsi
#include
using namespace std;
void tukar(double &x, double &y); // deklarasi
int main()
{ double a = 2, b =5;
tukar(a,b);
}
void tukar(double &x, double &y)
{
double z;
z = x;
x = y;
y = z;
}
Fungsi
#include
using namespace std;
double x=2; // global variabel x
void limakalix(void); // deklarasi
int main()
{ double a = 2; //local variabel
limakalix(); // x*5 = 10
limakalix(); // x*5 = 50
}
void limakalix(void)
{
x *= 5
}
Fungsi, Variabel global
Kita bisa mendeklarasikan banyak fungsi dengan
nama fungsi yang sama asalkan tipe inputnya
berbeda. Contoh:
int tambah(int a, int b)
{
return (a+b)
}
double tambah(double a, double b)
{
return (a+b)
}
Fungsi, Overloaded
Keyword inline digunakan untuk menambahkan
kode fungsi itu dimanapun fungsi itu dipanggil.
Format:
Inline tipe nama(deklarasi parameter){ ...isi... }
Fungsi inline ini berguna untuk mempercepat
jalannya program, tetapi ini bisa memperbesar
ukuran program.
Fungsi, Inline
Array
Format:
Tipe nama[jumlah];
Contoh:
Int g[10]; // buat array dengan 10 elemen
Elemen dimulai dengan indeks 0, jadi elemen
diakses dengan cara nama[indeks]
g[0] = 1; g[9]=10;
Variabel Array
Contoh:
double w[6] ={0,4,5,1,3,4}
//cetak isi array
for(int i = 0; i<6; i++){
cout << w[i] << endl;
}
Akses Array
Format:
Int g[5]={1,2,3,4,5}; // buat array 5 elemen
g[0] = 1; g[9]=10;
Inisialisasi Array
Format:
Tipe nama[jumlah][jumlah]; // dua dimensi
Tipe nama[jumlah][jumlah][jumlah]; // tiga dimensi
Int g[5][2]; // buat array 5x2 elemen
Int h[4][2][5]; // array 4x2x5 elemen
Ingat indeks dimulai dari angka 0!!!
g[0][0] = 1; g[1][1]=10;
h[0][0][0] = 0; h[2][1][4] = 21;
Array Multidimensi
Contoh:
void cetaknilai(int a[],int n)
{
for(int i = 0; icout << a[i] << endl;
}
}
Array sebagai input fungsi
Contoh:
void cetaknilai(int a[][4],int n)
{
for(int i = 0; ifor(int j = 0; i<4; j++){
cout << i << “ “ << j;
cout << “ “<< a[i][j] << endl;
}
}
}
Array sebagai input fungsi
Contoh:
int main()
{
char nama[20] = “Einstein”;
cout << “nama : “ << nama;
return 0;
}
String dibuat dengan array char

Materi hari kedua MK Pemrograman

Pengenalan C++
http://www.cplusplus.com/doc/tutorial/
Hello.cpp
// my first program in C++
Ini sebuah baris komentar. Semua baris yang
berawalan dengan dua garis miring (//) adalah
komentar dan ini tidak mempengaruhi kerja
sebuah program. Ini biasa digunakan untuk
menjelaskan secara singkat arti/maksud
step/langkah didalam program.
Contoh
float t; // variabel untuk waktu
Cara Lain untuk Komentar adalah dengan
menggunakan
/* ......*/
#include
Baris ini yang berawalan dengan tanda (#) adalah
perintah-perintah untuk preprocessor. Perintahperintah
ini bukan barisan code yang biasanya. Ini
diperuntukkan bagi preprocessor dari kompiler.
Dalam perintah diatas #include
memberitahu preprocessor untuk memasukan
iostream standard file. Iostream file memiliki
deklarasi-deklarasi librari C++ untuk standard
input-output. Ini dimasukkan karena akan
digunakan di dalam program.
using namespace std;
Semua bagian dari C++ standard library
dideklarasikan di dalam sebuah namespace yang
bernama std. Jadi untuk mengakses library ini kita
mendeklarasikan dengan ekspresi ini. Ini yang
sering digunakan di program C++ yang memakai
standard library.
int main ()
Baris ini merupakan awal dari definisi dari fungsi
main. Fungsi main adalah titik dimana semua
program C++ memulai exsekusinya, tidak
tergantung dari tempat di dalam source code.
Tidak peduli ada fungsi-fungsi yang dideklarasikan
sebelum atau sesudah itu, instruksi-instruksi yang
ada di dalam main selalu yang pertama di
jalankan. Jadi sangat penting semua program C+
+ mempunyai fungsi main.
cout << "Hello World!"; Ini adalah sebuah C++ statement. cout adalah standard output di C++. Arti dari seluruh statement di atas adalah insert sebuah deretan huruf-huruf yang mana disini berisi Hello World!. return 0; Statement return menyebabkan selesainya fungsi main. return bisa diikuti dengan return code (disini dikembalikan nilai 0). sebuah return code 0 untuk fungsi main biasanya diartikan programnya berjalan tanpa masalah. Ini yang paling sering dipakai untuk mengakhiri program C++. { ...} Ini digunakan untuk menggabungkan banyak statement menjadi satu bagian. Disini semua statement menjadi bagian fungsi main. GCC Untuk mengkompile file C++ kita menggunakan GCC yang tersedia gratis di linux OS dan Cygwin Cara Kompilasi: $ gcc filename.cpp $ gcc filename.cpp -o progname $ g++ filename.cpp -o progname Cara menjalankan $ ./progname Layout Identifiers Sebuah identifier yang benar adalah sebuah deretan satu atau lebih huruf-huruf, angka-angka atau garis bawah (_). Spasi, tanda seru, tanya, koma dan titik tidak bisa dipakai dalam sebuah identifier. Hanya huruf-huruf, angka-angka dan satu garis bawah yang sah/benar. Sebagai tambahan identifier variabel selalu dimulai dengan huruf dan bisa juga dengan garis bawah (_ ), tapi ini biasanya untuk fungsi-fungsi yang ada di kompiler. Huruf tidak boleh mengawali sebuah variabel. reserved keywords asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while Kata-kata diatas tidak bisa dijadikan identifier karena sudah dipakai oleh bahasa C++ Variables. Data Types. Deklarasi Unsigned, Signed Data types char, short, long dan int bisa bersifat signed or unsigned tergantung dari interval bilangan yang direpresentasikan. Signed types bisa mempunyai kedua nilai positif dan negatif. Tetapi unsigned hanya mempunyai nilai positive saja. Scope of variables Initialization of variables Defined constants (#define) Ini sebuah perintah untuk preprocessor untuk mensubstitusi sebuah variabel atau fungsi. Contoh Declared constants (const) Operator Assignment (=) Arithmetic operators Compound assignment Increase and decrease (++, --) Relational and equality operators ( ==, !=, >, <, >=, <= ) Examples Logical operators ( !, &&, || ) ! - tidak && - dan || - atau Control Structures – If Control Structures – else Control Structures - for Control Structures – while do-while Standard Input (cin). cout & cin Penggunaan cout #include
using namespace std;
Int main(void)
{
cout << “ Saya bisa C++ “ <<>
using namespace std;
int main()
{
float a;
cout << “input bilangan desimal:”<<>> a;
cout << “ bilangannya adalah ” << a =" 2;" b=" 1.0," c ="3.0;">, <, >=, <= ) Examples Logical operators ( !, &&, || ) ! - tidak && - dan || - atau Konstanta #include
using namespace std;
# define PI 3.14159
int main()
{
const float pi = 3.14159;
cout << “ bilangan pi = ” << pi =" ”">
#include
using namespace std;
# define PI 3.14159
int main()
{
const float pi = 3.14159;
cout << “ sin(pi) = ” <<>
using namespace std;
# define PI 3.14159
int main()
{
const float pi = 3.14159;
cout << “ bilangan pi = ” << pi =" ”" pi =" 3.14159;" pi =" 3.14159;" pi =" 10;">> kompiler error
Library untuk fungsi-fungsi
Matematika
#include
#include
using namespace std;
# define PI 3.14159
int main()
{
const float pi = 3.14159;
cout << “ sin(pi) = ” <<>
#include
using namespace std;
int main()
{
double a = 3, b = 5; //panjang sisi segitiga
//panjang sisi miringnya
cout << “ c = ” << operator =" +" b=" 10;" a =" B;" a =" A" a =" B" c =" D" a =" a" a =" a*5" a =" a/5" a =" a" a =" a" a =" 2;" a =" 2;" b =" ++A;" b =" A++;" a =" 3," b =" 3" a="3," b="2" logika ="=",!=",<,">,<=,>=,!,&&,||
== sama dengan
!= tidak sama dengan
<>= lebih besar sama dengan dari
! tidak
&& dan
|| atau
Contoh
Operator ?
Format:
Syarat ? Nilai1: Nilai2;
Contoh:
A = 3;
B =2;
C = (A<< cout=""><< “a lebih kecil dari b \n”; if(a<< “a lebih kecil dari b \n”; if(a>b) cout << “a lebih besar dari b \n”; if(a<<”............................\n”; cout << “a lebih kecil dari b\n”; cout << “=============\n”; } else Format: if(syarat) statemen else statemen Contoh if(a<< “a lebih kecil dari b \n”; if(a>=b) cout << “a lebih besar dari b \n”; if(a<< “a lebih kecil dari b \n”; else cout << “a lebih besar dari b \n”; else Format: if(syarat) statemen else statemen Contoh if(a<< “a lebih kecil dari b \n”; else if(a==b) cout << “a sama dengan b \n”; else cout << “a lebih besar dari b \n”; Pengulangan (loop) for, while, do while while Format: while (syarat benar) statemen Contoh: int n; n = 1; while (n<10){ n =" 1;" n="1;n<10;n++){" n="1;n<10;n++){" n="1;n<10;n++){" n="="7)" n="1;n<10;n++){" n="="7)" x =" 1”;" x =" 4”;">

Solusi Tugas 1 MK Pemrograman

Belajar C++
Solusi untuk Tugas 1
9 April 2010
1. Program untuk mengkonversi sebuah nilai temperature dalam derajat
Celcius (TC) ke derajat Fahrenheit (TF ) bisa dilihat dibawah ini. Kita
menggunakan rumus
TF = (9:0=5:0)TC + 32 (1)
. Disini input program adalah TC dan output program adalah TF .
Dalam program kita mendeklarasi dua variabel untuk menampung
dua nilai suhu yaitu TC dan TF .
/* solusi1-1.cpp
*
* Solusi Tugas 1 No 1
* Program untuk konversi temperature/suhu dari
* derajat Celcius ke derajat Fahrenheit
*/
#include
using namespace std;
int main()
{
float Tc, Tf; // Suhu Celcius Tc, Suhu Fahrenheit Tf
// masukkan input
cout << "Masukkan suhu dalam derajat Celcius : " <<>> Tc;
// hitung suhu dalam Fahrenheit
Tf = (5.0/9.0)*Tc + 32.0;
1
// output
cout << "Suhu dalam derajat Fahrenheit adalah : "; cout << s =" (x+y+z)="3" p =" p3">
#include // library fungsi-fungsi matematis
using namespace std;
int main()
{
float x, y, z; // tiga bilangan
float s, p; // nilai rata-rata
// masukkan input
cout << "Masukkan tiga bilangan desimal : " <<>> x;
cin >> y;
cin >> z;
// hitung nilai rata-rata
s = (x + y + z)/3.0;
p = pow(x*y*z,1.0/3.0);
2
// output
cout << "nilai rata-rata tiga bilangan ini adalah : " << s = " << s; cout << " p =" " 693="t1="2" t1="2" t1="2">
#include
using namespace std;
int main()
{
float N0, N; // Jumlah inti awal dan N(t)
float waktu_paruh, lambda; // konstanta peluruhan
float t; // interval waktu
1
// masukkan input
cout << " PROGRAM PELURUHAN BAHAN RADIOAKTIF " << n0 =" ">> N0;
cout << "Masukkan waktu paruh = " <<>> waktu_paruh;
cout << "Masukkan interval waktu t = " <<>> t;
// mitung jumlah inti setelah waktu t
lambda = 0.693/waktu_paruh;
N = N0*exp(-lambda*t);
//output
cout << "Jumlah inti setelah t = " <<>
using namespace std;
int main()
{
float nilai = 0.0;
// masukkan input
cout << "Masukkan nilai anda dalam angka : " <<>> nilai;
// dapatkan nilai dalam huruf
cout << "nilai dalam huruf adalah : " <<>= 8.0) cout << "A "; else if(nilai <>= 7.2) cout << "B+"; else if(nilai <>= 6.5) cout << "B "; else if(nilai <>= 6.0) cout << "C+"; else if(nilai <>= 5.6) cout << "C "; else if(nilai <>= 5.0) cout << "D+"; else if(nilai <>= 4.6) cout << "D"; else cout << "E "; cout << s =" 13" s =" Xn" i="1" i3 =" n2(n" 4 =" 1" s =" \sum_{i="1}^n">
using namespace std;
int main()
{
long int n = 0; // nilai n
long int s1, s2; // jumlah dengan cara dua rumus
// masukkan input
cout << "Program untuk menghitung jumlah S" << n =" ">> n;
//hitung S1
s1 = 0; // inisialisasi nol
for(long int i = 1; i<=n; i++){ s1 = s1 + i*i*i; // kita tambahkan satu per satu } //hitung S2 s2 = (n*n*(n+1)*(n+1))/4; cout << " S1 = " << s2 = " << s2 << endl; cout << " 4="" s1="=s2)" cout=""><<" BERHASIL !!! " << x =" 0" x =" ">
#include
using namespace std;
int main()
{
float x, dx;
// masukkan input
cout << "Masukkan nilai dx = " <<>> dx;
cout <<" Table cos(x) di bawah ini " << endl;
cout <<" x \t cos(x)" << endl;
// hitung jumlah baris dalam tabel
for(x = 0; x<=1.0; x+=dx){
cout << x << "\t " << cos(x) << endl; // buat baris satu per satu
}
5
return 0;
}

Keajaiban Sedekah

Urusan sedekah adalah urusan hati & keikhlasan setiap umat di dunia ini. Ada yang merasa bahwa setiap harta/uang yang dia terima adalah milik sekaligus hak pribadinya & tidak untuk siapa-siapa apalagi untuk dibagi-bagikan. Audzubillahmindzalik.., namun ada banyak juga berpendapat bahwa setiap harta/uang yang diterimanya adalah titipan Allah semata & wajib disedekahkan kepada yang berhak.
Bagi hamba Allah yang merasa bahwa semua harta serta kedudukan adalah titipan, dengan jiwa yang besar & hati yang tulus ikhlas akan mengeluarkan kewajibannya, walaupun apa yang dia cintai dia korbankan, walaupun dalam keadaan tak punya apapun & terbelit kemiskian, akan tetap rela memberikanya demi mendapat Ridlo Allah SWT.
Aku masih dalam taraf belajar tentang keimanan apalagi soal sedekah, aku hanya ingin berbagi cerita betapa Keajaiban Sedekah itu benar-benar ADA & Allah sungguh Maha Kaya & Pemurah.
Minggu siang, tak seperti biasa aku menyalakan TV, ketemulah salah satu TV Swasta yang menayangkan Acara Keajaiban Sedekah, Tausyiah dibawakan oleh Ust. Yusuf Mansur dengan gaya bahasa sederhana, mudah dipahami, dibumbuhi bahasa gaul ala betawi, mudah dicerna, enak didengar & langsung masuk & mengena direlung hati yang dalam.
Kebetulan ada 2 Nara sumber yang dihadirkan dalam Acara tsb. mengupas betapa Keajaiban Sedekah itu telah merubah hidupnya mengalami kesulitan & dengan bersedekah Allah telah menggangkat semua kesulitan yang dialaminya dalam waktu yang "takjub" bahkan Allah melipat gandakan bakhan berlipat-lipat dari sedekah yang dikeluarkan. Sosok Bapak muda, Bpk. Drs. Mulyadi, MM, secara ikhlas & penuh haru menceritakan bahwa saat itu beliau terlilit hutang bermilyar-milyar, bahkan semua harta & rumah yang beliau miliki serta rumah ibunya akan disita oleh pihak bank, belum lagi hutang-hutang & piutang yang macet.
Jum’at sepulang mendengarkan "vonis eksekusi" penentuan tanggal penyitaan rumah dari bank, beliau begitu kalut, mobil BMW nya tersita, beliau praktis naik bus way yang dalam hidupnya belum pernah merasakan naik bus way. Sehingga kalutnya akhirnya beliau memutuskan turun & mampir ke Masjid Al-Azhar untuk berikhtikaf & secara kebetulan saat itu sedang ada Tausyiah dari Ust. Yusuf Mansur mengulas tentang Keajaiban Sedekah. Beliau masih belum percaya ada keajaiban sedekah, tapi beliau penasaran ingin mengikuti tausyiah tsb. Ketika Ust. Yusuf Mansur menghimbau jamaah untuk mensedekahkan apa yang dimiliki jamaah saat hadir di masjid tsb. (apa saja untuk disumbangkan dengan hati ikhlas, Insya Allah, Allah akan mengangkat segala kesulitan kita). Satu-satunya harta yang beliau miliki saat hadir, hanya jam tangan kesayangannya, jam tangan yang beliau impikan untuk dimiliki sejak kecil. Jam Bulgary seharga US$ 300.00 dengan ikhlas & maja terpejam beliau letakkan disurban yang telah disedikan oleh Ust. Yusuf Mansur bagi para jamaah yang hadir untuk menyumbangkan apa saja yang dibawa saat itu. "Kriiinggg..", telpon genggam Pak Mulyadi berdering tak berapa lama setelah menyumbangkan jam tangan idamannya. Beliau masih belum percaya adanya keajaiban sedekah walaupun rekanannya yang menelpon mengabarkan bahwa proposal proyeknya telah disetujui. Beliau masih didalam masjid & masih belum yakin akan keajaiban tsb. Sabtu, Minggu dilaluinya & rekanannya telah mengabarkan bahwa nilai proposal proyeknya seharga 3 Milyar telah disetujui tapi tetap belum yakin. "Hari Eksekusi" pun tiba, Senin. Petugas bank yang beliau tunggu-tunggu ternyata belum datang juga. Dengan hati galau beliau menerima telp petugas bank yang mengabarkan bahwa penyitaan dibatalkan karena petugas bank mendengar bahwa proyek beliau disetujui. Subhanallah… "Betapa hati saya sungguh terharu, ketika saya ke ATM, & terlihat direkening bank saya telah masuk uang sebesar Rp. 3.000.000.000,-," begitu ucapan Pak Mulyadi dengan suara agak parau terharu bahagia agak berkaca-kaca membagikan sharing Keajaiban Sedekah dihadapan Jamaah di salah satu Masjid Tanah Abang Blok A & juga dihadapan para pemirsa televise siang itu. Subhanallah..Allahu Akbar… Sekian persen dari nilai tsb. telah disumbangkan ke Dewan Masjid Al-Azhar. Saya tertegun, terharu, merinding mendengar sharing beliau yang menurut Pak Ust. Yusuf Mansur, bhw. Beliau adalah Ketua Dewan Masjid DKI (cmiiw), jaditinggal menunggu jebolnya pipa pahala tsb. untuk terus mengalir. Ada banyak saksi hidup yang mengalami kejaiban sedekah tsb., salah satunya adalah artis penyanyi Ikang Fauzi yang kebetulan juga menjadi nara sumbernya. Betapa Bung Ikang yang tadinya merasa bahwa buat apa bersedekah sudah capek-capek mencari uang, itukhan hak saya, saya tabung. Namun setelah mendengar salah satu ceramah ttg. Sedekah beliau mulai menerapkannya dalam kehidupan sehari-hari. Bung Ikang merasa, walaupun tetap menabung dibank tapi hidupnya tetap tidak berubah tanpa bersedekah. Menabunglah untuk akherat & duniamu melalui sedekah.
Aku ada cerita lagi, 2 stories saja ya yang saya dapat dari Ust. Yusuf Mansur yang berbagi cerita siang itu di TV.:

1. Seorang ibu A mengeluhkan anaknya sudah 5 bulan tidak bayar SPP, suatu hari ibu tsb. mempunyai uang senilai lima puluh ribu, disampaikannya kabar gembira tsb. ke anaknya bahwa besok kita akan melunasi uang SPP yang tertunggal sebanyak 5 bulan.
Suatu pagi, rumahnya didatangi oleh seorang ibu B (tetangganya) yang menangis tersedu-sedu & mengeluh bahwa anaknya belum bayar SPP selama 7 bulan, & bermaksud untuk pinjam. Dengan hati ikhlas ibu A memberikannya uang lima puluh ribu tsb. ke Ibu B. Betapa tulus hati Ibu A tsb., tak berselang lama Ibu A mendapat kabar bahwa anaknya mendapat bea siswa & dibebaskan dari uang SPP…

2. Seorang Pemuda yang sudah sekian tahun belum juga mendapatkan pekerjaan, kemudian dia nadzar "Bila suatu saat nanti mendapat pekerjaan, saya tidak membutuhkan uangnya yang penting saya bekerja",begitu nadzarnya. Singkat cerita, akhirnya mendapat panggilan kerja. "Tanpa CV & cukup KTP saja, anda bisa langsung kerja, & tempat kerja anda bisa dilantai 1, 10, 8 diruang mana saja, anda kami terima sebagai office boy," begitu penjelasan sang pewawancara. Satu bulan kemudian, pemuda tsb. gajian, dia ingat akan janjinya bahwa dia tidak membutuhkan uang hanya pekerjaan saja. Dengan jiwa besar, uang hasil keringatnya selama sebulan disumbangkan kepada kaum dhuafa. Allah Maha Pemurah, Maha Pengasih. Pemuda yang bekerja sbg. Office boy tsb. telah bergaji hampir 8juta-10juta perbulan, darimana? Ternyata Allah memberikan pahala itu datangnya dari segala arah, salah satu contohnya, saat pemuda tsb. disuruh beli mie ayam sipenyuruh memberikan uang 200rb, & kembaliannya diberikan ke pemuda office boy tsb., & ada saja rejeki itu datang tak disangka-sangka. Oppss…, time is up, waktuku habis nih, semoga sharingku bisa menggugah untuk rajin bersedekah, aku pernah mendengar salah satu Tausyiah dari Mbak Sasha (DT Jkt. Saat Tour DT ke Bandung) bahwa 3 permohonan doa dari orang-orang yang meninggal dunia (dikutip dari La Tansa Book, buku terlaris di Timor Tengah, cmiiw).
Ya Allah, seandainya aku diberi kesempatan satu kali saja, aku akan melaksanakan Sholat Sunnah.
Ya Allah, seandainya aku diberi kesempatan satu kali saja, aku akan terus mengucapkan Shalawat.
Ya Allah, seandainya aku diberi kesempatan satu kali saja, aku akan terus melaksanakan SEDEKAH.
Betapa pentingnya sedekah, Hari ini Bulan ini Bulan Suci Ramadhan, bulan penuh rahman, saat yang terbaikuntuk berlomba-lomba memperbanyak sodaqah.., Insya Allah, Keajaiban Sedekah merubah hidup kita..Amiin. Segala kesalahan & kekurangan datangnya dari saya yang jauh dari kesempurnaan, & segala kebenaran hanyalah datangnya dari Allah.. Selamat Berpuasa, kita jemput hidayah Allah.. (Ust. Yusuf Mansyur)