Uploaded by Muhammad Jumi'at Mokhtar

Muhammad Jumi'at Mokhtar 1711014210011 Laporan Tugas Besar

advertisement
LAPORAN TUGAS BESAR
PENGENALAN ILMU KOMPUTASI
PROGRAM PENGENALAN OPTIK
DOSEN PEMBIMBING :
ADE AGUNG HARNAWAN, S.Si, M.Sc
NIP: 19791214 200501 1 107
OLEH :
MUHAMMAD JUMI’AT MOKHTAR
NIM: 1711014210011
KEMENTERIAN RISET TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS LAMBUNG MANGKURAT
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
PROGRAM STUDI S-1 FISIKA
BANJARBARU
2019
LEMBAR PENGESAHAN
LAPORAN TUGAS BESAR
PENGENALAN ILMU KOMPUTASI
Nama
:
Muhammad Jumi’at Mokhtar
NIM
:
1711014210011
Judul Tugas Besar
:
Program Pengenalan Optik
Tanggal Tugas Besar
:
3 Januari 2018
Fakultas
:
Matematika dan Ilmu Pengetahuan Alam
Program Studi
:
S-1 Fisika
Banjarbaru,
2019
Koordinator Asisten
(Rama Pharamahaesta Hanggarbenny)
I. PENDAHULUAN
A. Latar Belakang
Fisika merupakan salah satu cabang dari ilmu sains. Fisika merupakan hasil
kegiatan manusia berupa pengetahuan, gagasan, dan konsep yang terorganisasi
tentang alam sekitar yang diperoleh dari serangkaian pengalaman melalui proses
ilmiah. Pelajaran fisika tidak cukup hanya mempelajari produk tetapi menekankan
bagaimana produk itu diperoleh, baik sebagai proses ilmiah maupun pengembangan
sikap ilmiah siswa. Untuk itu hasil belajar tidak hanya terbatas pada ranah kognitif,
tetapi juga ranah psikomotor dan ranah afektif. Keterampilan psikomotor sangat
penting untuk diajarkan karena dari keterampilan ini, siswa akan lebih mengetahui
dan memahami apa yang telah mereka pelajari ( Prihatiningtyas, 2013).
Cahaya termasuk gelombang elektromagnetik, maka cahaya dapat merambat
baik melalui medium ataupun tanpa medium (vakum). Ilmu fisika yang mempelajari
tentang cahaya adalah Optika. Optika itu sendiri dibagi menjadi dua: optika
geometris dan optika fisis. Optika gemetris mempelajari tentang pemantulan
(reflection) dan pembiasan (refraction), sedangkan optika fisis mempelajari tentang
polarisasi, interferensi, dan difraksi cahaya (Sari, 2007).
CodeBlocks merupakan sarana atau aplikasi untuk bahasa C++. Jadi dicoba
menggunakan console application dalam menu CodeBlocks. Karena itu bisa
dikatakan sudah sering digunakan untuk penggunaan CodeBlocks. Dan headerheader dengan bahasa mudah dibaca.
Code block merupakan sebuah software yang sangat bermanfaat. Banyak
yang bisa dilakukan dalam code block. Salah satunya adalah pembuatan program.
misalnya program untuk perhitungan kasir dan lain-lain. Selain code block juga ada
apliaksi yang sejenis yaitu dev c++.
B. Tujuan
Adapun tujuan dari pembuatan tugas besar ini, antara lain :
1. Untuk mengaplikasikan bahasa pemrograman C/C++ dalam program
sederhana.
2. Membuat program yang bisa untuk membantu orang dalam memahami
optik melalui perhitungan dan gambar serta video.
II. TINJAUAN PUSTAKA
Bahasa C++ merupakan bahasa C dengan tambahan fasilitas pemrograman
berbasis objek. Sebenarnya tidak hanya itu bahasa C++ merupakan penyempurnaan
bahasa C dengan fasilitas-fasilitas baru yang mempermudah pemrograman. Ini
sangat berguna untuk pembuatan program-program besar lainnya. Kemudian pada
pemrograman Instrumentasi. Bahasa pemrograman C dan C++ merupakan “High
Level Language” yaitu bahasa tingkat tinggi yang berarti bahasa yang lebih bisa di
mengerti oleh “pengguna” di bandingkan dengan bahasa seperti asymbly yang
tingkat rendah yang lebih mudah di mengerti oleh mesin komputer. Bahasa high
level harus di terjemahkan ke bahasa mesin atau dikompilasi, sehingga dapat di
laksanakan oleh komputer. Oleh karena itu biasanya bahasa high level memiliki
ukuran yang besar dan kompleks, pemrograman dengan low level. Untuk aplikasi
program yang besar dan kompleks, pemrograman dengan level rendah akan
mengalami kesulitan dalam pembuatannya (Schildt, 1988).
Bahasa C bisa digunakan untuk merekayasa program untuk segala kebutuhan,
baik untuk aplikasi bisnis, matematis atau bahkan game. Bahasa C mendukung
banyak sekali operator untuk keperluan pemrograman. Berikut beberapa operator
yang tersedia.
Kategori
Arithmetic
Logical
Relational
Assignment
Increment Decrement
Operator
+-*/%
& | ^ ! && true false ||
== != < > <= >=
= += -= *= /= %= &=
++ --
Tabel 2.1 Kategori-Operator Dalam Bahasa C
(Raharjo, 2006).
Visual
C++
merupakan
perangkat
pengembangan
aplikasi
yang
menggunakan C++ sebagai bahasa pemrograman dan dapat digunakan untuk
membuat aplikasi berbasis windows maupun berbasis teks (aplikasi konsul).
Perangkat ini menyediakan lingkungan yang dinamakan IDE (Integral Depelovet
Emperionment) yang memungkinkan pemakaian membuat, mengaplikasikan,
menggabungkan, dan memanggil program dengan cepat dan mudah (kadir, 2004).
File biner adalah suatu file yang pola penyimpanannya adalah dengan
menuliskan data secara biner. Sebagai contoh, jika data yang disimpan ke file
tersebut bertipe int (2 byte) dengan isi variabel 10000, maka akan disimpan sebagai
sebesar 2 byte dengan isi : 27. Tipe jenis ini sangat cocok untuk penyimpanan data
dalam bentuk struct. Pembacaan file biner dilakukan perblock. Untuk membaca file
biner mode operasi filenya adalah ”rb” (read binery). Pembacaan data untuk tipe
biner dilakukan perblock, sehingga kita harus tahu berapa besar data yang akan
dibaca. Ada kalanya kita ingin mengambil data dari posisi tengah file. Untuk itu ada
suatu fungsi fseek, yang gunanya untuk memindahkan kursor file ke posisi tertentu
(stroustup, 1997).
Operasi bersyarat merupakan sebuah operasi yang berguna untuk menyelesaikan
persoalan tertentudengan syarat atau beberapa persyaratan tertentu.
Struktur kondisi “IF...”
Struktur if digunakan untuk menyeleksi suatu kondisi tunggal.Bila proses
yang diseleksi terpenuhi atau bernilai benar,maka pernyataan yang terdapat di
dalam blok if akan diproses dan dikerjakan.bentuk umumstrukturkondisi if
adalah:
if(kondisi)
{
pernyataan;
}
(kadir, 2004).
Struktur kondisi”IF....ELSE....”
Struktur kondisi if....else minimal terdapat dua pernyataan. Jika kondisi yang
diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang
dilaksanakan dilaksanakan.Bentuk umumnya adalah sebagai berikut:
if(kondisi)
{
pernyataan 1;
}
else
{
Pernyataan 2;
}
Struktur kondisi “SWITCH....CASE....DEFAULT...”
Struktur kondisi switch....case....default digunakan untuk penyeleksian
kondisi dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan
melaksanakan salah satu dari beberapa pernyataan ‘case’ tergantung nilai
kondisi yang ada di dalam switch.Selanjutnya proses diteruskan hingga
ditemukan pernyataan ‘break’.Jika tidak ada nilai kondisi,maka proses akan
diteruskan kepada pernyataan yang ada di bawah ‘default’.Bentuk umum dari
struktur kondisi ini adalah:
switch(kondisi)
{
case 1 : pernyataan-1;
break;
case 2: pernyataan-2;
break;
....
....
case n : pernyataan –n;
break;
default : pernyataan –m
}
Operator Berulang
Dalam bahasa C/C++ tersedia suatu fasilitas yang digunakan untuk
melakukan proses yang berulang-ulang sebanyak keinginan kita.
Struktur perulangan “WHILE”
Perulangan
WHILE
banyak
digunakan
pada
program
yang
terstruktur.Perulangan ini digunakan jika jumlah perulangannya belum
diketahui.Proses perulangan akan terus berlanjut selama kondisinya
bernilai benar(true) dan akan berhenti bila kondisinya bernilai salah.
Struktur perulangan “DO....WHILE...”
Struktur perulangan do....while sama saja dengan struktur while, tetapi
pada proses perulangan dengan while, seleksi berada di while yang
letakknya di awal proses sementara pada perulangan do....while, seleksi
while berada di bawah batas perulangan.Jadi dengan menggunakan
struktur do...while sekurang-kurangnyaakan terjadi satu kali perulangan.
Struktur perulangan “FOR”
Struktur perulangan for biasa digunakan untuk mengulang proses yang
telah diketahui jumlah perulangannya.Dari segi penulisannya , struktur
perulangan for tampaknyalebih efesien karena susunannyalebih simple
dan sederhana.Bentuk umum perulangan for adalah sebagai berikut:
for (inisialisai; syarat; penmabahan)
pernyataan;
keterangan :
Isnisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel
kontrol.
Syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari
perulangan.
Penambahan : pengaturan perubahan nilai variabel kontrol.
III. PERMASALAHAN
 Bagaimana menampilkan hasil perhitungan, video dan gambar ?
 Bagaimana
menampilkan
pemprograman C++ ?
data
praktikum
dengan
menggunakan
IV. ANALISIS PERMASALAHAN DAN PENYELESAIAN
Dalam program ini melibatkan tiga file header, yakni <iostream> yang
berfungsi untuk menampilkan input atau output yang akan digunakan pada perintah
cout , <Windows> berfungsi untuk menampilkan perintah system, dan <time.h>
berfungsi untuk mendefinisikan fungsi tanggal dan waktu penanganan. Kemudian
dari program ini pula ada fungsi while, for, char, system, if ... else, . Serta
penambahan listing listing lainnya untuk mendukung menjalankan program ini.
V. ALGORITMA DAN FLOWCHART
A. Algoritma Program
1. Memulai program;
2. Memasukkan pilihan(1=Biodata, 2=memulai program);
3. Jika pilihan =1;
4. Menampilkan biodata ;
5. Jika pilihan =2;
6. Menampilkan program sebenarnya;
7. Masukan Pilihan(1=Pengertian, 2=Teori, 3=Hasil Pengamatan);
8. Jika Pilihan =1;
Menampilkan definisi optik;
9. Jika Pilihan = 2;
a. Menampilkan jenis sifat cahaya(1=Pemantulan Cahaya, 2=Pembiasan
Cahaya, 3=Peralatan Optik
9=Kembali kemenu sebelumnya
0=Kembali Kemenu utama);

Jika Pilihan =1 ;
Menampilkan pilihan (1=Hukum Pemantulan, 2=Cermin
datar, 3= Cermin Lengkung
sebelumnya 0=Kembali Kemenu utama);
-
Pilihan =1;
-
Menampilkan Teori;
-
Pilihan =2;
-
Menampilkan Teori;
-
Pilihan=3;
9=Kembali kemenu
-
Menampilkan Pilihan (1=Cermin Cekung, 2=Cermin
Cembung);
+ Pilihan =1;
Menampilkan Teori, soal dan hasil ;
+ Pilihan =2 ;
Menampilkan Teori, soal dan hasil ;
 Jika pada menu sifat cahaya memilih pilihan =2;
- Menampilkan Pilihan(1=Hukum Snellius,2=Lensa);
+ Jika pilihan =1;
Menampilkan teori soal dan perhitungan ;
+ Jika pilihan =2 ;
Menampilkan rumus kuat lensa dan soal ;
 Jika Pilihan =3;
- Menampilkan Pilihan(1=Miopi, 2=Hiperbiopi, 3=Lup,4 =
Mikroskop, Teropong Bintang);
+ Jika pilihan =1;
Menampilkan teori soal dan perhitungan ;
+ Jika pilihan =2 ;
Menampilkan teori soal dan perhitungan ;
+ Jika pilihan =3;
Menampilkan teori soal dan perhitungan ;
+ Jika pilihan =4 ;
Menampilkan teori soal dan perhitungan ;
+ Jika pilihan = 5;
Menampilkan teori soal dan perhitungan ;
10. Pilihan =3
11. Masukkan Pilihan untuk menampilkan gambar dan video (1-8)
12. Mengakhiri program
B.
Flowchart Program
VI. HASIL DAN PEMBAHASAN
A. Hasil
Gambar 1. Kondisi Awal
Gambar 2 Biodata
Gambar 3. Menu pilihan
Gambar 4 output video
Gambar 5 Output foto
B. Pembahasan
Dari hasil yang diperoleh didapatkan bahwa pada code::block bisa dilakukan
pemanggilan file yang berupa video maupun word,dengan menggunakan fungsi
#include <stdlib.h>, yang merupakan fungsi dalam pemanggilan word dan video
dalam program ini,namun harus disimpan dulu dalam suatu file dengan format,
struktur kondisi “If.....else” adalah suatu struktur kondisi yang memiliki minimal dua
pernyataan.
VII. PENUTUP
a. Kesimpulan
1. Kesimpulan yang dapat diperoleh antara lain : Telah dibuat sebuah program
yang menyatakan sebuah kondisi pilihan dalam pilihan
2. Telah dibuat sebuah program yang mampu memanggil file dari komputer
Program dapat dijalankan secara berulang
DAFTAR PUSTAKA
Kadir, A. 2004. Pemrograman Visual C++. Yogyakarta : Andi.
Prihatiningtyas, S., Prastowo,T., & Jatmiko, B.(2013). Imlementasi Simulasi Phet
Dan Kit Sederhana Untuk Mengajarkan Keterampilan Psikomotor Siswa Pada
Pokok Bahasan Alat Optik.. JPII 2 (1) (2013) 18-22
Raharjo, B. 2006. Pemrograman C++: Mudah dan Cepat Menjadi Master C++.
Bandung: Informatika.
Sari,R Yosi A. 2007. Peningkatan Pemahaman Materi Lensa – Cermin Pada Mata
Pelajaran Fisika Dengan Menggunakan Strategi Belajar Contextual Teaching
And Learning (CTL).Yogyakarta : UNY
Schildt, H. 1998. Programing Language. New York : The Comple Mc Grovo Hill.
Stroustup, B. 1997. Programing Language. New York : Addison – Wesley
LISTING PROGRAM
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
#define Sn 25
using namespace std;
void delay(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock());
}
void input_data()
{
system("cls");
int a;
int main();
int optik_1();
int optik_2();
void optik_3();
system("cls");
Kembali:
printf("\n\n\n\t\t\t PENGENALAN OPTIKA :\n\n");
printf(" 1. Pengertian\n");
printf(" 2. Sifat Cahaya\n");
printf(" 3. Hasil Pengamatan\n");
printf("\n\n\t
0. Kembali kemenu utama:");
printf("\n\n masukkan pilihan anda : ");
scanf("%i",&a);
if(a==1) optik_1(); else
if(a==2) optik_2(); else
if(a==3) optik_3(); else
if(a==0) main(); else
printf("yang anda masukan salah\n");
}
void lihat()
{
system("cls");
printf(" \t\t\t\tBiodata \n");
printf("
============================================================
============ \n");
printf(" Nama
: Muhammad Jumi'at Mokhtar \n");
printf(" NIM
: 1711014210011\n");
printf(" Program Studi : Fisika\n");
printf(" TTL
: Puruk Cahu, 2 April 1999\n");
printf("
============================================================
============ \n");
}
int main()
{
int menu;
char ulang, kembali;
do
{
system("cls");
printf("
============================================================
============");
printf("\n
PENGENALAN OPTIKA
\n");
printf("
============================================================
============ \n");
printf("\n 1. Lihat Data Diri Pembuat\n");
printf("\n 2. Mulai Program\n");
printf("\n Pilih menu : ");
scanf("%i",&menu);
if (menu==1) lihat();else
if (menu==2) input_data();else
printf("yang anda masukan salah\n");
printf("\n\nUlangi Program? [y/t]:");
scanf("%c%c",&ulang,&ulang);
}
while(ulang=='y'||ulang=='Y');
}
int optik_1()
{
int a;
system("cls");
printf(" 1.Pengertian\n\n");
printf("\t
printf("\t
Optik adalah ilmu yang mempelajari tentang cahaya.\n");
Optik terbagi menjadi dua yaitu Optik Geomerti dan fisis\n");
printf("\t
disini saya mempersempit pembahsaan menjadi optika
geometris\n");
printf("\t
yaitu mempelajari tentang pemantulan dan pembiasan \n\n\n");
printf("\n\n\t
0. Kembali kemenu utama:");
printf("\n\n\t masukkan pilihan anda : ");
scanf("%i",&a);
if(a==0)input_data();else
printf("Pilihan tidak ada\n");
}
int optik_2()
{
int a;
void Pemantulan_cahaya();
void Pembiasan_Cahaya();
void Peralatan_Optik();
void input_data();
int main();
system("cls");
printf("\n SIFAT CAHAYA :\n");
printf(" 1. Pemantulan Cahaya\n");
printf(" 2. Pembiasan Cahaya\n");
printf(" 3. Peralatan Optik\n\n");
printf(" 9. Menu sebelumnya\n");
printf(" 0. Menu Utama\n\n");
printf(" Masukan Kode pilihan ada : ",a);
scanf("%i",&a);
if(a==1) Pemantulan_cahaya() ; else
if(a==2) Pembiasan_Cahaya() ; else
if(a==3) Peralatan_Optik () ; else
if(a==9) input_data();else
if(a==0) main();else
printf("\n\nPilihan Tidak Ada");
}
void optik_3()
{
int a;
system("cls");
printf(" \n Hasil Pengamatan \n");
printf(" 1. Pemantulan Cahaya\n");
printf(" 2. Pemantulan Cahaya pada Bidang Lengkung\n");
printf(" 3. Pembiasan pada Kaca Planparalel\n");
printf(" 4. Pembiasan pada Prisma\n");
printf(" 5. Bayangan pada Lensa\n");
printf(" 6. Bayangan oleh Lensa Cembung\n");
printf(" 7. Jarak Benda, Jarak Bayangan dan Jarak Titik Api\n");
printf(" 8. Penguraian Cahaya\n");
printf("\n Masukan Kode pilihan ada : ",a);
scanf("%i",&a);
if(a==1)
{
system("1.mp4");
}
else
if(a==2)
{
system("2.jpg");
system("3.jpg");
}
else
if(a==3)
{
system("10.jpg");
system("11.jpg");
system("12.jpg");
system("13.jpg");
system("14.jpg");
printf("Data\n");
}
else
if(a==4)
{
}
else
if(a==5)
{
system("bikonveks.jpg");
system("bikonkaf.jpg");
system("gabungan");
}
else
if(a==6)
{
system("100.mp4");
system("101.mp4");
system("103.mp4");
system("104.mp4");
}
else
if(a==7)
{
}
else
if(a==8)
{
system("pembiasan.jpg");
system("pembiasan1.jpg");
}
else
{
printf("Pilihan tidak ada\n");
}
}
void Pemantulan_cahaya()
{
int a;
void Hukum_Pemantulan();
void Cermin_Datar ();
void Cermin_Lengkung();
system("cls");
printf(" Pemantulan Cahaya\n");
printf(" 1. Hukum Pemantulan \n");
printf(" 2. Cermin Datar \n");
printf(" 3. Cermin Lengkung \n\n");
printf(" 9. Menu sebelumnya\n");
printf(" 0. Menu Utama\n\n");
printf(" Masukan Kode pilihan ada : ",a);
scanf("%i",&a);
if (a==1) Hukum_Pemantulan(); else
if (a==2) Cermin_Datar(); else
if (a==3) Cermin_Lengkung();else
if (a==9) optik_2();else
if (a==0) input_data();else
printf("Pilihan tidak ada\n");
}
void Hukum_Pemantulan()
{
int a,b;
system("cls");
printf("\n\nHukum Pemantulan\n");
printf("sudut datang = sudut pantul\n\n\n");
int sudut_datang, sudut_pantul;
printf("sudut datang i :\n");
scanf("%i",&sudut_pantul);
if (sudut_datang=sudut_pantul)
{
printf("sudut pantul r :\n");
printf("%i",sudut_pantul );
printf("\n\n9. Kembali kemenu sebelumnuya ",b);
printf("\n\n0. Kembali kemenu utama ",b);
printf("\n masukkan pilihan anda : ");
scanf("%i",&b);
if(b==9)
{
optik_2();
}
else
if(b==0)
{
input_data();
}
else
{
printf("Pilihan tidak ada\n");
}
}
system("");
}
void Cermin_Datar()
{
printf("\n\nCermin Datar\n");
printf("sifat :\n");
printf("1. Maya\n");
printf("2. Perbesaran M=1\n");
printf("3. Tegak dan menghadap berlawanan arah terhadap benda\n");
printf("4. Jarak Benda ke cermin sama dengan jarak bayangan dari
cermin\n");
system("pause");
}
void Cermin_Lengkung()
{
int a,d;
system("cls");
printf("\t\tCermin Lengkung\n\n");
printf("\t\t 1. Cermin cekung\n");
printf("\t\t 2. Cermin cembung\n");
printf("\t\t 3. Soal 1\n");
printf("\t\t 4. Soal 2\n");
printf("\n Masukan Kode pilihan ada : ",a);
scanf("%i",&a);
if(a==1)
{
system("cls");
printf("\n\t\tCermin cekung adalah cermin yang berbentuk lengkung,") ;
printf("\ndimana permukaan cermin cekung yang memantulkan cahaya
melengkung ke belakang.");
printf("\nGaris normal cermin cekung adalah garis yang melewati pusat
kelengkungan,");
printf("\nyaitu di titik R atau 2F.\n");
printf("Sinar yang melewati titik ini akan dipantulkan ke titik itu
juga.\n");
printf("\n\n Rumus jarak fokus \t f = s.s'/s+s' ");
system("");
}
else
if(a==2)
{
system("cls");
printf("\n\t\tCermin cembung adalah cermin yang berbentuk lengkung,")
;
printf("\ndimana permukaan cermin cekung yang memantulkan cahaya
melengkung ke luar.");
printf("\ncermin cembung memiliki sifat divergen (menyebarkan
cahaya)");
printf("\nkarena berkas cahaya yang datang dan,");
printf("mengenai permukaan cermin cembung akan dipantulkan kembali
dari satu titik dan menyebar\n");
printf("\n\n Rumus jarak fokus \t f = s.s'/s-s' ");
}
else
if(a==3)
{
system("cls");
int a,b,c;
int k,l,m,n,o;
printf("Sebuah benda yang tingginya ");
scanf("%i",&a);
printf(" berada ");
scanf("%i",&b);
printf(" di depan sebuah cermin cekung. Jika panjang fokus
kelengkungan cermin cekung ",c);
scanf("%i",&c);
printf("tentukan (satuan dalam cm): \n");
printf("\njarak bayangan ");
k=b*c;
l=b-c;
m=k/l;
printf("%i",m,k,l);
printf("\nperbesaran bayangan ");
n=m/b;
printf("%i",n,m,b);
printf("\ntinggi bayangan ");
o=a*n;
printf("%i",o,a,n);
}
else
if(a==4)
{
system("cls");
int a,b;
int k,l,m,n,o;
printf("Sebuah benda diletakkan di depan sebuah cermin cembung
sejauh ");
scanf("%i",&a);
printf(" yang jarak fokusnya ");
scanf("%i",&b);
printf(" Letak bayangan yang dibentuk cermin tersebut adalah ");
k=a*-b;
l=a-(-b);
m=k/l;
printf("%i",m,k,l);
}
else
printf("\n\nPilihan Tidak Ada");
}
void Pembiasan_Cahaya()
{
int a;
system("cls");
printf("Pembiasan Cahaya\n");
printf(" 1. Hukum Snellius I dan II\n");
printf(" 2. Lensa \n");
printf("\n Masukan Kode pilihan ada : ",a);
scanf("%i",&a);
if(a==1)
{
system("cls");
float a,b,c,d,e,k;
printf("Hukum Snellius \n");
printf("n1/v1=n2/v1=sin i/ sin r \n\n");
printf("Soal : Cahaya datang dari udara menuju medium yang berindeks
bias ");
scanf("%f",&e);
printf(" \nTentukan kecepatan cahaya dalam medium tersebut!");
a=1;
c=300000000;
d=a*c;
k=d/e;
printf("\n\nkecepatannya adalah ");
printf("%.2f",k,e,d);
}
else
if(a==2)
{
system("cls");
int a,b,c,d,e;
printf("\t\nKuat Lensa\n");
printf("\tP = 100/s + 100/s' \n\n");
printf("Di depan sebuah lensa diletakkan benda pada jarak ");
scanf("%i",&(a));
printf(" cm bayangan yang terbentuk bersifat maya sejauh ");
scanf("%i",&(b));
printf(" cm dari lensa \n");
printf("Tentukan besar kuat lensa tadi!");
d=100/(a);
e=100/(b);
c=(d)+(e);
printf("\n\nkuat lensa adalah ");
printf("%i",c);
}
else
{
printf("Pilihan tidak ada\n");
}
}
void Peralatan_Optik()
{
int a;
system("cls");
printf("Peralatan Optik\n");
printf(" 1. Miopi (Rabun Jauh)\n");
printf(" 2. Hipermetropi (Rabun Dekat)\n");
printf(" 3. Lup\n");
printf(" 4. Mikroskop\n");
printf(" 5. Teleskop\n");
printf("\n Masukan Kode pilihan ada : ",a);
scanf("%i",&a);
if(a==1)
{
system("cls");
float a,b,c;
printf("\n\t\t Miopi \n\n");
printf("Rumus fokus pada Mata Miopi\n");
printf(" f = - PR \n\n");
printf("Rumus kuat lensa untuk kacamata");
printf(" P = 1/f \n\n");
printf(" Soal : Seorang penderita rabun jauh memiliki titik jauhnya ");
scanf("%f",&a);
printf(" m. Berapakah kekuatan lensa kacamatanya? ");
b=(-a);
printf("\nfokus lensa ");
printf("%.2f",b);
c=1/b;
printf("\nKekuatan lensa ");
printf("%.2f",c);
}
else
if(a==2)
{
system("cls");
float a,b,x,y,z;
printf("\n\t\t Hipermetropi \n\n");
printf("Rumus fokus pada Mata Hipermetropi\n");
printf("\n\n Rumus jarak fokus lensa \n");
printf(" f = PP.Sn / PP-Sn \n");
printf("Rumus kuat lensa untuk kacamata");
printf(" P = 1/f \n\n");
printf("Soal : Seseorang menderita rabun dekat mempunyai titik dekat ");
scanf("%f",&b);
printf("cm Jika ingin membaca dengan jarak normal (25 cm),\n");
printf("maka berapa kekuatan lensa kacamata yang harus dipakai i?\n");
x=b*Sn;
y=b-Sn;
z=x/y;
printf("\nCari fokus lensa ");
printf("%.2f",z);
a=1/z;
printf("\nmaka kekuatab lensa ");
printf("%.2f",a);
}
else
if(a==3)
{
system("cls");
float a,b,x,y,z;
printf("\n\t\t Lup\n");
printf(" Rumus Perbesaran Lup \n\n");
printf("M = Sn/f
printf("M = Sn/f + 1
\t\t tidak berakomondasi\n");
\t berakomondasi maksimum\n");
printf("M = Sn/f + Sn/X \t berakomondasi pada titik tertentu\n");
printf("Sn = 25 cm \n\n");
printf("Soal : Sebuah lup dengan panjang fokus lensa ");
scanf("%f",&a);
printf("cm digunakan untuk melihat sebuah benda kecil.\n");
printf(" Dengan asumsi titik dekat normal adalah 25 cm, \n");
printf(" tentukan perbesaran lup untuk mata pengamat: \n");
x = Sn/a;
printf("\na) mata tidak berakomodasi ");
printf("%.2f",x);
y = (Sn/a) + 1;
printf("\nb) mata berakomodasi maksimum ");
printf("%.2f",y);
printf("\nc) mata berakomodasi pada jarak X ");
scanf("%f",&b);
printf("cm\n");
z = (Sn/a) + (Sn/b);
printf("c) mata berakomodasi pada jarak X cm ");
printf("%.2f",z);
}
else
if(a==4)
{
system("cls");
float a,b,c,d,e,i,j,k,l,x,y,z;
printf(" \n\t\t Mikroskop \n\n");
printf("\t 1.Rumus Perbesaran Mikroskop Tak Berakomondasi \n");
printf("M = Mob * Mok\n\n");
printf("Rumus Perbesaran lensa obyektif mikroskop \n");
printf("Mob = Sob' / Sob\n\n");
printf("Rumus Perbesaran lensa okuler mikroskop\n");
printf("Mok = PP / fok\n\n");
printf("\t 2.Rumus Perbesaran Mikroskop berakomondasi Maksimum \n");
printf("M = Mob * Mok\n\n");
printf("Rumus Perbesaran lensa obyektif mikroskop \n");
printf("Mob = Sob' / Sob\n\n");
printf("Rumus Perbesaran lensa okuler mikroskop\n");
printf("Mok = (PP / fok) +1 \n\n");
system("pause");
system("cls");
printf("\nMasukkan Nilai fob : ");
scanf("%f",&b);
printf("\nMasukkan Nilai Sob : ");
scanf("%f",&c);
x=b*c;
y=c-b;
z=x/y;
printf("\nMasukan Nilai fok : ");
scanf("%f",&d);
printf("\nmasukan Nilai PP : ");
scanf("%f",&e);
a=z/c;
printf("\nNilai Bayangan objek Sob' : ");
printf("%.2f\n",z);
printf("\nNilai Perbesaran lensa objektif (Mob): ");
printf("%.2f\n",a);
i=e/d;
j=i+1;
printf("\nNilai Perbesaran Lensa okuler\n");
printf("\n a. untuk tak berakomondasi : ");
printf("%.2f\n",i);
printf("\n b. untuk Berakomondasi Maksimum : ");
printf("%.2f\n",j);
k=a*i;
l=a*j;
printf("\nPerbesaran Mikroskop tak berakomondasi : ");
printf("%.2f\n",k);
printf("\nPerbesaran Mikroskop berakomondasi Maksimum : ");
printf("%.2f\n",l);
system("pause");
}
else
if(a==5)
{
system("cls");
int a,b,c,d;
printf("\n\t\t Teleskop \n\n");
printf(" Rumus Perbesaran Teleskop \n");
printf(" M = fob/fok \n");
printf(" Rumus Panjang Teropong untuk penggunaan Normal \n");
printf(" d = fob + fok \n\n");
printf("Soal
: Sebuah teropong bintang memiliki panjang fokus lensa
okuler ");
scanf("%i",&b);
printf(" m, dan memiliki lensa obyektif sebesar ");
scanf("%i",&c);
printf(" m, maka perbesaran anguler dan panjang teropong adalah \n\n");
a=b/c;
printf("\nPerbesaran anguler ");
printf("%i",a);
d=b+c;
printf("\nPanjang Teropong ");
printf("%i",d);
}
else
{
printf("Pilihan tidak ada\n");
}
}
Download