Kamis, 09 November 2017

MAKALAH BAHASA PEMROGRAMAN 1 “ Tipe Data & Operator ”

MAKALAH PRATIKUM BAHASA PEMROGRAMAN 1
“ Tipe Data & Operator ”

Disusun Oleh :
Nama              : Ahmad Solihin
NIM                : 20160810006
Prodi               : Bahasa Pemrograman 1

LABORATORIUM PRATIKUM 
FAKULTAS KOMPUTER UNIVERSITAS KUNINGAN
TAHUN 2016/2017
Dasar Teori & Pembahasan

Tipe Data
Tipe data adalah jenis data yang mempunyai batasan tempat dan karakteristik sesuai dengan interprestasi data dan dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Tipe data pada umumnya termasuk tipe data primitif, yaitu interger, floating point number dan character (string). Kumpulan dari tipe data primitif yang sejenis juga dapat disatukan dalam sebuah blok yang disebut array.
Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.
Jadi dengan kata lain, misalkan sebuah variabel adalah wadah suatu zat, kemudian kita memiliki beberapa zat yang ingin kita simpan didalam wadah tersebut. Misal, kita memiliki air untuk ditempatkan dalam suatu wadah, apa yang akan kita gunakan untuk menampung / mewadahi air tersebut ? Gelas ? Ember ? Gayung ? Ya benar sekali. Kita harus menggunakan wadah khusus zat cairan untuk menampung / mewadahi air, kita tidak mungkin menggunakan wadah lainnya. Kita tidak mungkin menggunakan kardus untuk mewadahi air bukan ? Karena kardus digunakan untuk mewadahi zat padat. Jadi sama halnya dengan tipe data, apabila kita ingin menampung/menyimpang sebuah input huruf, kita tidak bisa menyimpannya dalam bentuk tipe data angka / integer, karena tipe data integer / angka hanya di desain khusus untuk menampung / mewadahi inputan berupa angka saja.
Setelah kita memahami apa itu tipe data seperti yang dijelaskan di atas, kita bisa memulai untuk mengetahui apa saja tipe data yang ada, khususnya dalam bahasa pemrograman Java.
Java mempunyai 11 macam tipe data yang terdiri atas tipe data sederhana dan referensi / komposit. Tipe sederhana meliputi byte, short, int, long, char, float, double dan boolean yang terbagi menjadi 3 tipe. Sedangkan tipe data referensi meliputi class,array dan interface.
 A. Tipe Data Sederhana
  1. Integer (Bilangan Bulat)
              Tipe data yang masuk menjadi bagian ini adalah byte, short, int dan long. Semua tipe data ini bersifat
Signed, yaitu bisa mempresentasikan nilai positif dan negatif. Tidak seperti tipe data lainnya, Java tidak mendukung tipe data Unsigned yang hanya bisa mempresentasikan nilai postif.
  • Byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah data stream dari suatu file maupun jaringan, yaitu untuk kepeluan proses membaca/menulis. Selain itu, tipe ini juga digunakan saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe lain yang didefiniskan di dalam Java.
  • Short
Pada umumnya diaplikasikan pada komputer-komputer 16-bit, yang saat ini semakin jarang keberadaanya
  • Int
Tipe ini merupakan tipe yang paling banyak dipakai dalam merepresentasikan angka dalam Java, dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer lainnya. Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam konstruksi sebuah array.Selain itu, secara teori setiap ekspresi yang melibatkan tipe integer byte, short, int, long) semuanya akan dipromosikan ke int terlebih dahulu sebelum dilakukan proses perhitungan.
  • Long
Tipe ini digunakan untuk kasus-kasus tertentu yang nilainya berada di luar rentang tipe int, karna tipe ini punya range paling tinggi dibanding Integer lainnya. Dengan kata lain, tipe long terpaksa digunakan jika data memiliki range diluar range int.
2. Floating – Point (Bilangan Pecahan)
Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan atau angka decimal di belakang koma, seperti 3.1416,5.25, dan sebagainya. Bilangan semacam ini disebut sebagai bilangan riil. Dalam Java tipe ini dibedakan menjadi dua jenis, yaitu float, dan double.
  • Float
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal biasanya lebih cepat untuk processor-processor tertentu dan memakan ruang penyimpanan setengah kali lebih sedikit dibandingkan presisi ganda (double precision). Permasalahan yang timbul dari pemakaian tipe float untuk nilai-nilai yang terlalu kecil atau justru terlalu besar, karena nilai yang dihasilkan akan menjadi tidak akurat.
  • Double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda (double precision) dan menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai. Tipe double tentu lebih cepat untuk melakukan perhitungan-perhitungan matematis daripad tipe float. Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih baik menggunakan tipe double.
3. Char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter.  Java menggunakan karakter Unicode untuk merepresentasikan semua karakter yang ada . Unicode ialah sekumpulan  karakter yang terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di berbagai macam platform, maka Java menggunakan karakter Unicode yang membutuhkan ukuran 16-bit. Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui keyboard, java menyediakan beberapa escape sequence (pasangan karakter yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap sebagai String, melainkan tetap sebagai tipe karakter khusus.
4. Boolean
Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika, yaitu nilai yang hanya memiliki dua buah kemungkinan (benar atau salah). Tipe ini ditandai dengan kata kunci Boolean. Dalam bahasa Java, nilai benar dipresentasikan dengan kata kunci true dan nilai salah dengan kata kunci false.
B. Tipe Data Referensi
1. Class
Kelas dapat didefiniskan sebagai cetak biru (blueprint) atau prototipe/kerangka yang mendefiniskan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah objek. Dengan kata lain kelas adalah sebuah kesatuan yang terintegrasi antara method dan data yang mengacu pada suatu objek.
Dalam dunia permrograman, sebenarnya kelas tidak jauh berbeda dengan tipe data sederhana. Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan variabel ‘normal’, sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek. Variabel yang berupa objek ini sering disebut dengan referensi objek (object reference).
Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan, maka tipe data baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah kelas.
2. Array
Tipe data ini memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.
3. Interface
Interface merupakan sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method tersebut berada pada class yang mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik,  yang tidak diperoleh dari proses inheritance yang lebih terbatas. Tipe data yang boleh pada interface hanya tipe data konstan.
Itu kira-kira macam-macam tipe data yang digunakan dalam bahasa pemrograman Java. Semoga dengan artikel ini kita bisa lebih menguasai tentang penggunaan tipe data dalam membuat program dengan menggunakan bahasa pemrograman Java. Sampai jumpa.
Operator
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan. 

Operator Aritmatika

Berikut ini adalah dasar operator aritmatika yang dapat digunakan untuk membuat suatu program Java,
contoh
Nama
Hasil
a + b
Penjumlahan
Jumlah dari $a dan $b
a - b
Pengurangan
Selisih dari $a dan $b
a * b
Perkalian
Hasil kali dari $a dan $b
a / b
Pembagian
Pembagian dari $a dan $b
a % b
Modulus
Sisa dari $a dibagi dengan $b


Contoh Operator Aritmatika :
public class OperasiAritmatika 
{ 
public static void main(String args[]) 
{ 
short x = 6; 
int y = 4; 
float a = 12.5f; 
float b = 7f; 
System.out.println("x= "+ x + ", y = "+y); 
System.out.println("x + y ="+ (x + y)); 
System.out.println("x - y ="+ (x - y));
System.out.println("x / y ="+ (x / y)); 
System.out.println("x % y ="+ (x % y)); 
System.out.println("a = "+ a + ", b = "+b); 
System.out.println("a / b ="+ (a / b)); 
System.out.println("x / b ="+ (x / b)); 
System.out.println("b / x ="+ (b / x));
} 
}


Operator Relasi Pada java

Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilainilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.
contoh
Nama
Hasil 
a == b
sama dengan benar
Jika a sama dengan b
a != b
tidak sama
benar jika a tidak sama dengan b
a < b
lebih kecil
benar jika a lebih kecil b
a > b
lebih besar
benar jika a lebih besar b
a <= b
lebih kecil atau sama dengan
benar jika a lebih kecil atau sama dengan b
a >= b
lebih besar atau sama dengan
benar jikaa lebih besar atau sama dengan b


Contoh Operator Relasi :
public class operator {
public static void main(String args[])
{
int a = 4;
int b = 3;
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(a<b);
System.out.println(a>b);
System.out.println(a<=b);
System.out.println(a>=b);
}
}



Operator Tambahan pada Java



Contoh Program
public class IncrementDecrement
{
public static void main(String args[])
{
int i = 1;
System.out.println("i : " + i );
// Pre-increment
System.out.println("++i : " + ++i );
// Post-increment
System.out.println("i++ : " + i++ );
System.out.println("i : " + i );
// Pre-decrement
System.out.println("--i : " + --i );
// Post-decrement
System.out.println("i-- : " + i-- );
System.out.println("i : " + i );
}
}

Operator Logika

Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean. Terdapat enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
contoh
Nama
Hasil
a &&b
AND
benar jika a dan b benar
a || b
OR
benar jika a atau b benar
a ^b
X
OR
benar jika a atau b benar tetapi tidak keduanya


Contoh Source Code Program Operator Logika:
public class operator {
public static void main(String args[])
{
System.out.println(a&&b);
System.out.println(a||b);
System.out.println(a^b);
System.out.println(a&b);
System.out.println(a|b);
System.out.println(a!=b);
}
}


Operator Perbandingan/Kondisi

Operator perbandingan ini digunakan pada struktur kontrol program, seperti if, elseif, di mana dilakukan perbandingan antar dua nilai.

Source Code Contoh Program Operator Aritmatika:

public class aritmatikaDemo
{
public static void main(String[] args)
{
//sedikit angka
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println("Variable values...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y); //penjumlahan angka
System.out.println("Adding...");
System.out.println(" i + j = " + (i + j));
System.out.println(" x + y = " + (x + y));
//pengurangan angka
System.out.println("Subtracting...");
System.out.println(" i - j = " + (i - j));
System.out.println(" x - y = " + (x - y));
//perkalian angka
System.out.println("Multiplying...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));
//pembagian angka
System.out.println("Dividing...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
//menghitung hasil modulus dari pembagian
System.out.println("Computing the remainder...");
System.out.println(" i % j = " + (i % j));
System.out.println(" x % y = " + (x % y));
//tipe penggabungan
System.out.println("Mixing tipes...");
System.out.println(" j + y = " + (j + y));
System.out.println(" i * x = " + (i * x));
}
}


Berikut ini adalah output program,


Variable values...
i = 37
j = 42
x = 27.475
y = 7.22
i + j = 79
Adding...
x + y = 34.695
Subtracting...
i - j = -5
x - y = 20.255
Multiplying...
i * j = 1554
x * y = 198.37
Dividing...
i / j = 0
x / y = 3.8054
Computing the remainder...
i % j = 37
x % y = 5.815
Mixing tipes...
j + y = 49.22
i * x = 1016.58


Catatan: Ketika integer dan floating-point number digunakan sebagai operand untuk operasi aritmatika tunggal, hasilnya berupa floating point. Integer adalah converter secara implisit ke bentuk angka floating-point sebelum operasi berperan mengambil tempat.


Contoh source code yang menggunakan logika dan boolean AND,

public class TestAND
{
public static void main( String[] args ){
int i = 0;
int j = 10;
boolean test= false;
//demonstrasi &&
test = (i > 10) && (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
//demonstrasi &
test = (i > 10) & (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}


The output of the program is,
0
10
false
0
11
false
Catatan, bahwa j++ pada baris yang mengandung operator && tidak dievaluasi sejakpernyataan pertama (i>10) yaitu telah bernilai sama dengan false.

Contoh source code yang menggunakan operator logika dan boolean OR,

public class TestOR
{
public static void main( String[] args ){
int i = 0;
int j = 10;
boolean test= false;
//demonstrasi ||
test = (i < 10) || (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
//demonstrasi |
test = (i < 10) | (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}
Hasil keluaran dari program ini adalah,
0
10
true
0
11
true
Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak pernyataan pertama (i<10) yaitu telah bernilai sama dengan true.


Contoh source code yang menggunakan operator logika exclusive OR,

public class TestXOR
{
public static void main( String[] args ){
boolean val1 = true;
boolean val2 = true;
System.out.println(val1 ^ val2);
val1 = false;
val2 = true;
System.out.println(val1 ^ val2);
val1 = false;
val2 = false;
System.out.println(val1 ^ val2);
val1 = true;
val2 = false;
System.out.println(val1 ^ val2);
}
}
Hasil keluaran program tersebut adalah,
false
true
false
true

Contoh source code yang menggunakan operator logika NOT,

public class TestNOT
{
public static void main( String[] args ){
boolean val1 = true;
boolean val2 = false;
System.out.println(!val1);
System.out.println(!val2);
}
}
Hasil keluaran program adalah sebagai berikut,
false
true

Operator Kondisi(?:)

Operator kondisi ?: adalah operator ternary. Berarti bahwa operator ini membawa tiga argumen yang membentuk suatu ekspresi bersyarat. Struktur pernyataan yang menggunakan operator kondisi adalah,
public class ConditionalOperator
{
public static void main( String[] args ){
String status = "";
int grade = 80;
//mendapatkan status pelajar
status = (grade >= 60)?"Passed":"Fail";
//print status
System.out.println( status );
}
}


Hasil keluaran dari program ini akan menjadi,
Passed
Berikut ini adalah program lain yang menggunakan operator ?: ,
class ConditionalOperator
{
public static void main( String[] args ){
int score = 0;
char answer = 'a';
score = (answer == 'a') ? 10 : 0;
System.out.println("Score = " + score );
}
}


Hasil keluaran program adalah,
Score = 10
 

2 komentar:

Diberdayakan oleh Blogger.

About Me

About Me

Followers

Followers

Paling Dilihat