JARINGAN KULIT
Organ tubuh
manusia memiliki 4 indera, yakni Indera penglihat (mata), indera pendengar
(telinga), Indera perasa/pengecap (mulut), Indera penciuman (hidung), dan
Indera peraba (kulit). Kulit merupakan bagian tubuh atau indera manusia yang
sangat sensitif mudah terluka dan mudah merasakan rasa sensitifitas. Kulit
manusia terdiri dari epidermis dan dermis. Kulit berfungsi sebagai alat
transportasi tempat bermuaranya kelenjar keringat yang keluar (kelenjar
sudorifera) yang terletak pada lapisan dermis.
Gambar perencanaan animasi jaringan kulit 3 Dimensi
Skema bagian-bagian kulit
Jaringan kulit manusia terdiri dari 2 lapisan kulit, yakni: epidermis dan
dermis. Yang masing-masing lapisan memiliki fungsi dan struktur kulit,
diantranya :
Lapisan kulit Epidermis
Selain itu kulit memiliki lapisan kulit epidermis yang
terdiri dari lapisan tanduk (lapisan korneum) dan lapisan malpighi. Lapisan
tanduk atau lapisan korneum merupakan lapisan kulit mati, yang dapat mengelupas
dan digantikan oleh sel-sel baru. Lapisan malpighi juga masih memiliki lapisan
lainnya seperti : lapisan spinosum dan germinativum, yang masing-masing
memiliki fungsi tersendiri. Lapisan kulit spinosum memiliki fungsi sebagai
penahan gesekan dari luar. Sedangkan lapisan germinativum berfungsi sebagai
produsen pengganti lapisan sel-sel pada lapisan kulit korneum yang aktif
membelah diri dari sel kulit mati.
Selain itu lapisan kulit epidermis mengandung pigmen melanin
yang memberi warna pada kulit, oleh karenanya penting menjaga kulit dari
pancaran radiasi sinar UV yang dapat membakar kulit dan merubah warna kulit
menjadi lebih gelap.
Lapisan kulit epidermis merupakan lapisan kulit bagian
teratas pada kulit manusia. Setiap manusia memiliki ketebalan kulit yang
berbeda-beda antara 400-600 μm, untuk kulit tebal terletak pada kulit telapak
tangan dan kaki dan kulit tipis memiliki ketebalan antara 75-150 μm untuk kulit
tipis (kulit selain telapak tangan dan kaki, memiliki rambut). Selain sel-sel epitel
diatas, lapisan kulit epidermis terdiri dari lapisan-lapisan seperti :
a. Melanosit
merupakan lapisan kulit epidermis yang memiliki sel untuk menghasilkan melanin
melalui proses melanogenesis.
b. Sel Langerhans cd merupakan sel yang makrofag yang
merupakan turunan dari sumsum tulang yang berfungsi sebagai perangsang sel
Limfosit T, mengikat, mengolah, dan merepresentasikan antigen kepada sel
Limfosit T. Dengan demikian, sel Langerhans berperan penting dalam imunologi
kulit.
c. Sel Merkel, yakni sel yang berfungsi sebagai
mekanoreseptor sensoris yang fungsinya berhubungan dengan sistem neuroendokrin
difus.
Pada lapisan kulit
Keratinosit secara tersusun dari lapisan yang berda paling luar sampai ke
dalam, memiliki susunan stratum yang diantaranya :
a. Stratum
Korneum, terdiri atas 15-20 lapis sel tipis, tanpa inti dengan sitoplasma yang
dipenuhi keratin.
b. Stratum Lucidum, terdiri atas lapisan tipis sel
epidermis eosinofilik yang sangat tipis, dan sitoplasma terdri atas keratin
padat. Antar sel terdapat desmosom.
c. Stratum Granulosum, terdiri atas 3-5 lapis sel
poligonal gepeng yang sitoplasmanya berisikan granul keratohialin. Pada membran
sel terdapat granula lamela yang mengeluarkan materi perekat antar sel, yang
bekerja sebagai penyaring selektif terhadap masuknya materi asing, serta
menyediakan efek pelindung pada kulit.
d. Stratum Spinosum, terdiri atas sel-sel kuboid. Sel-sel
spinosum saling terikat dengan filamen; filamen ini memiliki fungsi untuk
mempertahankan kohesivitas (kerekatan) antar sel dan melawan efek abrasi.
Dengan demikian, sel-sel spinosum ini banyak terdapat di daerah yang berpotensi
mengalami gesekan seperti telapak kaki.
e. Stratum Basal/Germinativum, merupakan lapisan paling
bawah pada epidermis, terdiri atas selapis sel kuboid. Pada stratum basal
terjadi aktivitas mitosis, sehingga stratum ini bertanggung jawab dalam proses
pembaharuan sel-sel epidermis secara berkesinambungan.
Lapisan kulit Dermis
Lapisan kulit dermis terdiri dari pembuluh darah, akar
rambut, ujung syaraf, kelenjar keringat dan kelenjar minyak. Kelenjar keringat
tentunya menghasilkan keringat. Keringat yang dikeluarkan manusia dapat
mencapai 2.000 ml setiap harinya. Namun keringat yang dihasilkan tergantung
dari tingkat kebutuhan tubuh dan pengaturan suhu tubuh. Keringat mengandung
air, garam dan urea. Fungsi dari lapisan kulit dermis ini adalah sebagai organ
penerima rangsangan, pelindung terhadap kerusakan fisik, penyinaran dan bibit
penyakit, serta untuk pengaturan suhu tubuh.
Lapisan kulit dermis berada pada bagian bawah kulit epidermis
yang memiliki ketebalan kulit berbeda-beda namun ketebalan kulit dapat mencapai
4 mm terutama di daerah punggung. Lapisan kulit dermis
sendiri memiliki 2 susunan stratum tanpa batas yang nyata, yaitu stratum
papilare dan stratum reticular.
1.
Stratum papilare, yang merupakan bagian utama dari
papila dermis, terdiri atas jaringan ikat longgar. Pada stratum ini didapati
fibroblast, sel mast, makrofag, dan leukosit yang keluar dari pembuluh
(ekstravasasi).
2.
Stratum retikulare, yang lebih tebal dari stratum
papilare dan tersusun atas jaringan ikat padat tak teratur (terutama kolagen
tipe I)
Selain kedua stratum di atas, dermis juga mengandung beberapa turunan
epidermis, yaitu folikel rambut, kelenjar keringat, dan kelenjar sebacea.
1.
Rambut yang merupakan struktur berkeratin panjang yang
berasal dari invaginasi epitel epidermis, yaitu Folikel rambut. Pada folikel
rambut ini terdapat pelebaran jaringan yang berbentuk benjolan pada sebuah
papilla dermis. Papila dermis tersebut mengandung kapiler dan ditutupi oleh
sel-sel yang akan membentuk korteks rambut, kutikula rambut, dan sarung akar
rambut.
2.
Kelenjar keringat, yang terdiri atas kelenjar keringat
merokrin dan kelenjar keringat apokrin
3. Kelenjar keringat merokrin, berupa kelenjar tubular
sipleks bergelung dengan saluran bermuara di permukaan kulit. Salurannya tidak
bercabang dan memiliki diameter lebih kecil dari bagian sekresinya 0,4 mm.
Terdapat dua macam sel mioepitel yang mengelilingi bagian sekresinya, yaitu sel
gelap yang mengandung granula sekretoris dan sel terang yang tidak mengandung
granula sekretoris.
4. Kelenjar keringat apokrin, memiliki ukuran lebih besar
(3-5 mm) dari kelenjar keringat merokrin. Kelenjar ini terbenam di bagian
dermis dan hipodermis, dan duktusnya bermuara ke dalam folikel rambut. Terdapat
di daerah ketiak dan anus.
5. Kelenjar sebacea, yang merupakan kelenjar holokrin,
terbenam di bagian dermis dengan jumlah bervariasi mulai dari 100-900 meter
persegi. Sekret dari kelenjar sebacea adalah sebum, yang tersusun atas campuran
lipid meliputi trigliserida, lilin, squalene, dan kolesterol beserta esternya.
Pada bagian bawah
dermis, terdapat suatu jaringan ikat longgar yang disebut jaringan subkutan dan
mengandung sel lemak yang bervariasi. Jaringan ini disebut juga fasia
superficial, atau panikulus adiposus. Jaringan ini mengandung jalinan yang kaya
akan pembuluh darah dan pembuluh limfe. Arteri yang terdapat membentuk dua plexus,
satu di antara stratum papilare dan retikulare, satu lagi di antara dermis dan
jaringan subkutis. Cabang-cabang plexus tersebut mendarahi papila dermis.
Sedangkan vena membentuk tiga plexus, dua berlokasi seperti arteri, satu lagi
di pertengahan dermis. Adapun pembuluh limfe memiliki lokasi sama dengan
pembuluh arteri.
Untuk mendukung fungsi kulit sebagai penerima stimulus, maka
terdapat banyak ujung saraf, antara lain di epidermis, folikel rambut, kelenjar
kutan, jaringan dermis dan subkutis, serta papila dermis. Ujung saraf ini
tanggap terhadap stimulus seperti rabaan-tekanan, sensasi taktil, suhu
tinggi/rendah, nyeri, gatal, dan sensasi lainnya. Ujung saraf ini meliputi
ujung Ruffini, Vaterpacini, Meissner, dan Krause.
Selain itu turunan kulit yang lain adalah kuku. Kuku
merupakan lempeng sel epitel berkeratin pada permukaan dorsal setiap falang
distal. Lempeng kuku terletak pada stratum korneum, sedangkan dasar kuku
terletak pada stratum basal dan spinosum.
Pada suhu yang terbilang cukup panas, kelenjar keringat
menjadi lebih aktif dan pembuluh kapiler di kulit akan melebar. Jika pembuluh
kapiler mudah melebar akan memudahkan proses pembuangan air dari sisa
metabolisme dan mengaktifkan kelenjar keringat untuk terus mengeluarkan
keringat ke permukaan kulit dengan cara penguapan. Jika penguapan menyebabkan
suhu pada permukaan kulit menurun, kita tidak akan merasakan lagi. Namun
apabila suhu tubuh tidak mengalami penguapan yang berarti dan sangat berkurang,
maka suhu tubuh akan tetap dan tubuh tidak mengalami kedinginan.
Kulit memiliki beberapa fungsi, diantaranya :
1.
Sebagai alat transportasi pembuangan keringat.
2.
Sebagai alat peraba/perasa.
3. Sebagai pelindung organ tubuh lainnya dari bbrbagai
ancaman masalah kulit baik dari pancaran radiasi dari sinar matahari.
4.
Mengendalikan dan mengatur suhu tubuh.
5.
Tempat menyimpan lemak.
Penyusun :
Kelompok 5
Anggota : 1. Ihda Zainul Muttaqin (100533402561)
2. Lativa Hartiningtyas (100533402630)
3. Mahfuz (100533405403)
Penyusun :
Kelompok 5
Anggota : 1. Ihda Zainul Muttaqin (100533402561)
2. Lativa Hartiningtyas (100533402630)
3. Mahfuz (100533405403)
#include <stdlib.h>
#include <glut.h>
#include <math.h>
#define PI 3.1415926535
bool atas = true;
int lingkaranp = 0;
int i;
int gerak = 0;
void lingkaran(int ganti){
glPopMatrix();
glPushMatrix();
glTranslatef(0,gerak,0);
glRotatef(lingkaranp+ganti,0,0,100);
glBegin(GL_POLYGON);
for (i=0;i<=360;i++){
float sudut = i * (2*PI/360);
float x=150+20*cos(sudut);
float y=20*sin(sudut);
glVertex2f(x,y);
}
glEnd();
}
void segitiga(){
glPopMatrix();
glPushMatrix();
glTranslatef(0,gerak,0);
glBegin(GL_TRIANGLES);
glColor3f(1.,1.,0.);
glVertex2f(0,100);//a
glVertex2f(-100,-50);//b
glVertex2f(100,-50);//c
glEnd();
}
void timer(int t){
if (atas){
gerak += 10;
} else {
gerak -= 10;
}
if (gerak > 300) {
atas = false;
} else if(gerak < -300){
atas = true;
}
if (lingkaranp < 360){
lingkaranp += 10;
} else {
lingkaranp = 0;
}
glutPostRedisplay();
glutTimerFunc(10,timer,0);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
segitiga();
lingkaran(0);
lingkaran(90);
lingkaran(270);
lingkaran(360);
glFlush();
}
void main(int argc, char **argv){
glutInit(&argc, argv);
/*...*/
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400,400);
glutCreateWindow("Mahfuz - 100533405403");
gluOrtho2D(-640.,640.,-640.,640.);
glutDisplayFunc(display);
glutTimerFunc(1,timer,0);
glutMainLoop();
}
READ MORE
#include <glut.h>
#include <math.h>
#define PI 3.1415926535
bool atas = true;
int lingkaranp = 0;
int i;
int gerak = 0;
void lingkaran(int ganti){
glPopMatrix();
glPushMatrix();
glTranslatef(0,gerak,0);
glRotatef(lingkaranp+ganti,0,0,100);
glBegin(GL_POLYGON);
for (i=0;i<=360;i++){
float sudut = i * (2*PI/360);
float x=150+20*cos(sudut);
float y=20*sin(sudut);
glVertex2f(x,y);
}
glEnd();
}
void segitiga(){
glPopMatrix();
glPushMatrix();
glTranslatef(0,gerak,0);
glBegin(GL_TRIANGLES);
glColor3f(1.,1.,0.);
glVertex2f(0,100);//a
glVertex2f(-100,-50);//b
glVertex2f(100,-50);//c
glEnd();
}
void timer(int t){
if (atas){
gerak += 10;
} else {
gerak -= 10;
}
if (gerak > 300) {
atas = false;
} else if(gerak < -300){
atas = true;
}
if (lingkaranp < 360){
lingkaranp += 10;
} else {
lingkaranp = 0;
}
glutPostRedisplay();
glutTimerFunc(10,timer,0);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
segitiga();
lingkaran(0);
lingkaran(90);
lingkaran(270);
lingkaran(360);
glFlush();
}
void main(int argc, char **argv){
glutInit(&argc, argv);
/*...*/
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400,400);
glutCreateWindow("Mahfuz - 100533405403");
gluOrtho2D(-640.,640.,-640.,640.);
glutDisplayFunc(display);
glutTimerFunc(1,timer,0);
glutMainLoop();
}
A.
Penjumlahan
Dua Sinyal
Penjumlahan 2 sinyal, dimana Sinyal
Pertama memiliki Amplitudo (A) sama dengan
1 dan Frekuensi (f) sama dengan 1, sedangkan Sinyal Kedua memiliki
Amplitudo (A) sama dengan 1/3 atau 0,33… dan Frekuensi (f) sama dengan 3.
Matlab
adalah sebuah lingkungan komputasi numerikal dan bahasa pemrograman komputer
generasi keempat. Dikembangkan oleh The MathWorks, MATLAB memungkinkan
manipulasi matriks, pem-plot-an fungsi dan data, implementasi algoritma,
pembuatan antarmuka pengguna, dan peng-antarmuka-an dengan program dalam bahasa
lainnya. Meskipun hanya bernuansa numerik, sebuah kotak kakas (toolbox) yang
menggunakan mesin simbolik MuPAD, memungkinkan akses terhadap kemampuan aljabar
komputer. Sebuah paket tambahan, Simulink, menambahkan simulasi grafis
multiranah dan Desain Berdasar-Model untuk sistem terlekat dan dinamik.
1. Script fungsi dengan menggunakan Matlab
Gambar 1. Script pembuatan sinyal
menggunakan Matlab
2. Hasil
Penjumlahan
Gambar 2. Penjumlahan dua sinyal
B.
Tabel
Transmisi
A.
Tabel
Transmisi
Rentang
Frekuensi
|
Atenuasi
Khusus
|
Delay
Khusus
|
Jarak
Repeater
|
Bandwidth
|
||
Twisted pair (dengan
loading) (UTP)
|
0 – 3,5 kHz
|
0,2 Db/Km @ 1 kHz
|
50 µs/Km
|
2 km
|
10 MBps
|
|
Twisted pair (kabel
multipair) (STP)
|
0 – 1 MHz
|
3 dB/km @ 1 kHz
|
5 µs/Km
|
2 km
|
100 MBps
|
|
Coaxial
|
1.
Thin Coaxial
|
0 – 500 MHz
|
7 dB/km@ 10 kHz
|
4 µs/Km
|
1 – 9 km
|
10 -100 MBps
|
2.
Thick Coaxial
|
10 – 100 MBps
|
|||||
Fiber Optic
|
1.
Single Mode
|
180 – 370 THz
|
0,2 – 0,5 Db/km
|
5 µs/Km
|
40 km
|
1000 MBps
|
2.
Multi Mode
|
>1000 MBps
|
Medium transmisi apapun yang dipakai akan
menyesuaikan dengan band frekuensi
yang terbatas. Hal ini menyebabkan data
rate yang dapat melewati medium transmisi, terbatas. Diberikan
komponen-komponen frekuensi gelombang kotak. Disini terlihat bahwa gelombang
kotak terbentuk dari penjumlahan spektrum-spektrum ganjil, sehingga gelombang
kotak datap dinyatakan dalam : ¥s(t) = A xå 1/k sin (2p kf1t) k=1
Hubungan data rate
dan bandwidth didapat bahwa
pengurangan/penambahan bandwidth akan
menyebabkan pengurangan / penambahan data
rate dengan faktor pengurangan/penambahan yang sama. Contoh, diinginkan bandwidth 4 MHz. jika f1 = 10 cycles/sec= 1 MHz, maka bandwidth : s(t) = sin ((2p x 106 )t) +
1/3 sin ((2p x 3 x 106 )t)+ 1/5 sin ((2p x 5 x 106 )t) = (5 x 106 ) - 106 = 4
Mhz periode : T=1/106 = 1 sec (karena f1 = 10 , T=1/f1) Jika gelombang ini
terdiri dari bit string '1' dan '0' maka tiap bit terjadi setiap 0,5 sec
sehingga data rate : 2 x f1 = 2 x 10
= 2 Mbps; dengan demikian bandwidth 4 Mhz, data ratenya 2 Mbps.
C. Optical
Fiber
Fiber optik adalah sebuah kaca murni
yang panjang dan tipis serta berdiameter sebesar rambut manusia. Dan dalam
pengunaannya beberapa fiber optik dijadikan satu dalam sebuah tempat yang dinamakan kabel optik dan digunakan untuk mengantarkan data digital yang berupa
sinar dalam jarak yang sangat jauh.
Core
adalah kaca tipis yang merupakan bagian inti dari fiber optik yang dimana
pengiriman sinar dilakukan. Cladding
adalah materi yang mengelilingi inti yang berfungsi memantulkan sinar kembali
ke dalam inti (core). Buffer Coating adalah plastik pelapis
yang melindungi fiber dari kerusakan.
Jenis
Fiber Optik
1. Single Mode Fibers
Fiber
Optik dengan Core yang sangat kecil,
diameter mendekati panjang gelombang sehingga cahaya yang masuk ke dalamnya
tidak terpantul-pantul ke dinding Cladding, melainkan dirambatkan langsung dari
Core. Mempunyai inti yang kecil
(berdiameter 0.00035 inch atau 9 micron) dan berfungsi mengirimkan sinar laser
inframerah (panjang gelombang 1300-1550 nanometer).
2.
Multi
Mode Fibers
Fiber
Optik dengan diameter Core yang agak besar sehingga cahaya yang akan
ditransmisikan dipantul-pantulkan dari dinding Cladding ke Core. Mempunyai inti
yang lebih besar(berdiameter 0.0025 inch atau 62.5 micron) dan berfungsi
mengirimkan sinar laser inframerah (panjang gelombang 850-1300 nanometer).
import java.util.Scanner;
// Header yang berfungsi untuk memanggil package pada class Mahfuzs
import static java.lang.System.out;
// Header yang berfungsi untuk memanggil package pada class MahfuzsTest
class Mahfuzs// Nama utama class
{
// static berfungsi sebagai method yang tidak perlu instantiate
static Scanner s = new Scanner(System.in);// Menampilkan data inputan
static String angka1, angka2, karakter;// Inputan data
static char fungsi,operator;// Inputan Operator berupa karakter
static double hasil, nilai1, nilai2;// Inputan data berupa nilai String
// Menampilkan nilai String yang akan dioperasi
static String getValue1()
{
angka1 = s.nextLine();
return angka1;
}
static String getValue2()
{
angka2 = s.nextLine();
return angka2;
}
// Menampilkan function berupa karakter sebagai operator untuk nilai String
static char getFunc()
{
karakter = s.nextLine();
fungsi = karakter.charAt(0);
return fungsi;
}
// Menampilkan operator berupa karakter sebagai operator untuk nilai String
static char getOperator()
{
karakter = s.nextLine();
operator = karakter.charAt(0);
return operator;
}
// Operasi pengurangan dengan dua data inputan berupa string
static double getKurang(double nilai1, double nilai2)
{
hasil = nilai1 - nilai2;
return hasil;
}
// Operasi penjumlahan dengan dua data inputan berupa string
static double getTambah(double nilai1, double nilai2)
{
hasil = nilai1 + nilai2;
return hasil;
}
// Operasi perkalian dengan dua data inputan berupa string
static double getKali(double nilai1, double nilai2)
{
hasil = nilai1 * nilai2;
return hasil;
}
// Operasi pembagian dengan dua data inputan berupa string
static double getBagi(double nilai1, double nilai2) throws ArithmeticException
{
if(nilai2 == 0)
{
throw new ArithmeticException();
}
else
{
hasil = nilai1 / nilai2;
}
return hasil;
}
}
// Pewarisan class Mahfuzs terhadap class MahfuzsTest
public class MahfuzsTest extends Mahfuzs
{
// static berfungsi sebagai method yang tidak perlu instantiate
static char n, operator;
public static void main(String[]args)
{
// Penerapan exception pada method sebagai pengecek kesalahan
/* Digunakan dalam suatu block program. keyword ini digunakan untuk
mencoba menjalankan block program kemudian mengenai dimana munculnya
kesalahan yang ingin diproses.
*/
try{
System.out.println("");
System.out.println(" =========================================");
System.out.println(" | KALKULATOR EXCEPTION JAVA (PBO) |");
System.out.println(" | (NORMALLY) |");
System.out.println(" =========================================");
System.out.println("");
System.out.println(" ==========================");
System.out.println(" | CREATED BY MAHFUZ |");
System.out.println(" --------------------------");
System.out.println(" |100533405403 - PTI '10 B|");
System.out.println(" ==========================");
System.out.println("");
System.out.println(" ============================");
System.out.println(" | M E N U |");
System.out.println(" ============================");
// Method yang berfungsi sebagai pemisah angka atau bilangan
/* Tanda koma sebagai pemisah untuk tiap 3 angka didepannya maupun
dibelakangnya */
// Tanda titik sebagai pemisah untuk 2 angka dibelakangnya
System.out.print(" |ANGKA PERTAMA :| ");
nilai1 = Double.parseDouble(Mahfuzs.getValue1().replaceFirst(",","."));
System.out.println(" ============================");
System.out.print(" |ANGKA KEDUA :| ");
nilai2 = Double.parseDouble(Mahfuzs.getValue2().replaceFirst(",","."));
System.out.println(" ============================");
System.out.print(" |OPERATOR:(+),(-),(/),(*) :| ");
// Pengondisian untuk operator penjumlahan
operator = Mahfuzs.getOperator();
if( operator == '+')
{
hasil = Mahfuzs.getTambah(nilai1, nilai2);
}
// Pengondisian untuk operator pengurangan
else if(operator == '-')
{
hasil = Mahfuzs.getKurang(nilai1, nilai2);
}
// Pengondisian untuk operator pembagian
else if(operator == '/')
{
hasil = Mahfuzs.getBagi(nilai1, nilai2);
}
// Pengondisian untuk operator perkalian
else if(operator == '*')
{
hasil = Mahfuzs.getKali(nilai1, nilai2);
}
System.out.println(" ============================");
System.out.print(" |FUNGSI:(=) :| ");
// Pengondisian untuk fungsi sebagai penetapan hasil perhitungan operator
n = Mahfuzs.getFunc();
if(n == '=')
{
System.out.println(" ============================");
System.out.println(String.format(" |HASILNYA ADALAH :| %,.2f", hasil));
System.out.println("");
}
else
{
// Pelemparan bug atau kesalahan yang dibuat secara manual
throw new Exception();
}
}
// Membaca kesalahan pada alur program diatas
catch(ArithmeticException e)// Kesalahan pada pembagian dengan nilai 0
{
System.out.println("");
System.out.println(" ===========================");
System.out.println(" | ERROR : DIVIDED BY ZERO |");
System.out.println(" ===========================");
}
catch(NumberFormatException e)// Kesalahan pada inputan angka
{
System.out.println("");
System.out.println(" ================================================");
System.out.println(" | ERROR : MAAF, YANG ANDA MASUKAN BUKAN ANGKA! |");
System.out.println(" ================================================");
}
catch(Exception ec)// Kesalahan pada penulisan fungsi
{
System.out.println("");
System.out.println(" ======================================");
System.out.println(" | ERROR : KESALAHAN PENULISAN FUNGSI |");
System.out.println(" ======================================");
}
}
}
// KETERANGAN : PROGRAM DIATAS TIDAK MENGGUNAKAN PENGULANGAN
READ MORE
// Header yang berfungsi untuk memanggil package pada class Mahfuzs
import static java.lang.System.out;
// Header yang berfungsi untuk memanggil package pada class MahfuzsTest
class Mahfuzs// Nama utama class
{
// static berfungsi sebagai method yang tidak perlu instantiate
static Scanner s = new Scanner(System.in);// Menampilkan data inputan
static String angka1, angka2, karakter;// Inputan data
static char fungsi,operator;// Inputan Operator berupa karakter
static double hasil, nilai1, nilai2;// Inputan data berupa nilai String
// Menampilkan nilai String yang akan dioperasi
static String getValue1()
{
angka1 = s.nextLine();
return angka1;
}
static String getValue2()
{
angka2 = s.nextLine();
return angka2;
}
// Menampilkan function berupa karakter sebagai operator untuk nilai String
static char getFunc()
{
karakter = s.nextLine();
fungsi = karakter.charAt(0);
return fungsi;
}
// Menampilkan operator berupa karakter sebagai operator untuk nilai String
static char getOperator()
{
karakter = s.nextLine();
operator = karakter.charAt(0);
return operator;
}
// Operasi pengurangan dengan dua data inputan berupa string
static double getKurang(double nilai1, double nilai2)
{
hasil = nilai1 - nilai2;
return hasil;
}
// Operasi penjumlahan dengan dua data inputan berupa string
static double getTambah(double nilai1, double nilai2)
{
hasil = nilai1 + nilai2;
return hasil;
}
// Operasi perkalian dengan dua data inputan berupa string
static double getKali(double nilai1, double nilai2)
{
hasil = nilai1 * nilai2;
return hasil;
}
// Operasi pembagian dengan dua data inputan berupa string
static double getBagi(double nilai1, double nilai2) throws ArithmeticException
{
if(nilai2 == 0)
{
throw new ArithmeticException();
}
else
{
hasil = nilai1 / nilai2;
}
return hasil;
}
}
// Pewarisan class Mahfuzs terhadap class MahfuzsTest
public class MahfuzsTest extends Mahfuzs
{
// static berfungsi sebagai method yang tidak perlu instantiate
static char n, operator;
public static void main(String[]args)
{
// Penerapan exception pada method sebagai pengecek kesalahan
/* Digunakan dalam suatu block program. keyword ini digunakan untuk
mencoba menjalankan block program kemudian mengenai dimana munculnya
kesalahan yang ingin diproses.
*/
try{
System.out.println("");
System.out.println(" =========================================");
System.out.println(" | KALKULATOR EXCEPTION JAVA (PBO) |");
System.out.println(" | (NORMALLY) |");
System.out.println(" =========================================");
System.out.println("");
System.out.println(" ==========================");
System.out.println(" | CREATED BY MAHFUZ |");
System.out.println(" --------------------------");
System.out.println(" |100533405403 - PTI '10 B|");
System.out.println(" ==========================");
System.out.println("");
System.out.println(" ============================");
System.out.println(" | M E N U |");
System.out.println(" ============================");
// Method yang berfungsi sebagai pemisah angka atau bilangan
/* Tanda koma sebagai pemisah untuk tiap 3 angka didepannya maupun
dibelakangnya */
// Tanda titik sebagai pemisah untuk 2 angka dibelakangnya
System.out.print(" |ANGKA PERTAMA :| ");
nilai1 = Double.parseDouble(Mahfuzs.getValue1().replaceFirst(",","."));
System.out.println(" ============================");
System.out.print(" |ANGKA KEDUA :| ");
nilai2 = Double.parseDouble(Mahfuzs.getValue2().replaceFirst(",","."));
System.out.println(" ============================");
System.out.print(" |OPERATOR:(+),(-),(/),(*) :| ");
// Pengondisian untuk operator penjumlahan
operator = Mahfuzs.getOperator();
if( operator == '+')
{
hasil = Mahfuzs.getTambah(nilai1, nilai2);
}
// Pengondisian untuk operator pengurangan
else if(operator == '-')
{
hasil = Mahfuzs.getKurang(nilai1, nilai2);
}
// Pengondisian untuk operator pembagian
else if(operator == '/')
{
hasil = Mahfuzs.getBagi(nilai1, nilai2);
}
// Pengondisian untuk operator perkalian
else if(operator == '*')
{
hasil = Mahfuzs.getKali(nilai1, nilai2);
}
System.out.println(" ============================");
System.out.print(" |FUNGSI:(=) :| ");
// Pengondisian untuk fungsi sebagai penetapan hasil perhitungan operator
n = Mahfuzs.getFunc();
if(n == '=')
{
System.out.println(" ============================");
System.out.println(String.format(" |HASILNYA ADALAH :| %,.2f", hasil));
System.out.println("");
}
else
{
// Pelemparan bug atau kesalahan yang dibuat secara manual
throw new Exception();
}
}
// Membaca kesalahan pada alur program diatas
catch(ArithmeticException e)// Kesalahan pada pembagian dengan nilai 0
{
System.out.println("");
System.out.println(" ===========================");
System.out.println(" | ERROR : DIVIDED BY ZERO |");
System.out.println(" ===========================");
}
catch(NumberFormatException e)// Kesalahan pada inputan angka
{
System.out.println("");
System.out.println(" ================================================");
System.out.println(" | ERROR : MAAF, YANG ANDA MASUKAN BUKAN ANGKA! |");
System.out.println(" ================================================");
}
catch(Exception ec)// Kesalahan pada penulisan fungsi
{
System.out.println("");
System.out.println(" ======================================");
System.out.println(" | ERROR : KESALAHAN PENULISAN FUNGSI |");
System.out.println(" ======================================");
}
}
}
// KETERANGAN : PROGRAM DIATAS TIDAK MENGGUNAKAN PENGULANGAN




