• Tidak ada hasil yang ditemukan

Modul Praktikum 5 Pemograman Berorientasi Objek

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul Praktikum 5 Pemograman Berorientasi Objek"

Copied!
12
0
0

Teks penuh

(1)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 39

Modul Praktikum 5

Pemograman Berorientasi Objek

1. Judul : Class String, Cluss StringBuffer dan Class Math

2. Tujuan Percobaan :

Diakhir praktikum, mahasiswa diharapkan mampu :

• Menggunakan class string yang telah ada pada package java.lang

• Menggunakan class stringBuffer yang telah ada pada package java.lang

• Menggunakan class Math yang telah ada pada package java.lang

3. Teori Singkat

Java datang dengan beberapa class built-in yang bermanfaat. Mari kita membahas beberapa class dalam package iava.lang yang sering digunakan dalam pemrograman Java tingkat dasar.

3.1 Class String

Class String disediakan oleh Java SDK dengan menggunakan kombinasi character literals. Tidak seperti bahasa pemrograman lainnya,seperti C atau C++, strings dapat digunakan menggunakan array dari karakterr atau disederhanakan dengan menggunakan class String. Sebagai catatan, bahwa sebuah objek String berbeda dari sebuah array dari character.

a. Constructor String

Class String mempunyai 75 constructor (JDK 1.6). Untuk melihat detail tentang constructor-constructor ini, unduh dan baca document java API. Berikut ini deskripsi singkat beberapa constructor dari class String:

(2)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 40

Menginisialisasi obyek String baru dibuat sehingga merepresentasikan urutan karakter kosong.

String (byte [] bytes)

Membangun sebuah String baru yang ditentukan oleh decoding array byte yang menggunakan platform default charset.

String (byte [] bytes, Charset charset)

Membangun sebuah string baru ditetapkan oleh decoding array byte yang ditentukan.

String (String original)

Menginisialisasi sebuah objek String baru dibuat sehingga merupakan urutan yang sama karakter sebagai argumen; dengan kata lain, String yung buru dibuat adalah salinan dari argumen String.

String (StringBuffer buffer)

Mengalokasikan sebuah string baru yang berisi urutan karakter saat ini terdapat dalam argumen StringBuffer.

String (StringBuilder builder)

Mengalokasikan sebuah string baru yang berisi urutan karakter saat ini terkandung dalam pembangun argumen StringBuilder. b. Method-method dalam class String

Berikut ini ini adalah daftar dari beberapa method dalam class String yang sering digunakan:

public char charAt(int index)

Mengirim karakter di indeks yang dispesifikasikan oleh parameter index.

public int compareTo(String anotherString)

Membandingkan dua String dan mengirim bilangan int yang menspesifikasikan apakah objek string pemanggil kurang dari atau

(3)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 41

sama dengan anotherString. Bernilai negative jika objek yang dilewatkan (passed string) lebih besar, 0 jika kedua string sama, dan bernilai positif jika objek string pemanggil (calling string) lebih besar.

public int compareToIgnoreCase(String str) Serupa dengan compareTo tetapi case insensitivity. public boolean equals(Object anObject)

Menghasilkan nilai true jika parameter tunggalnya tersusun dari karakter yang sama dengan objek tempat Anda memanggil equals. Sedangkan jika parameter yang dispesifikkan bukan sebuah objek String atau jika tidak cocok dengan urutan symbol pada string, method akan dikembalikan dengan nilai false.

public boolean equalsIgnoreCase(String StringLain) Serupa dengan equals tetapi case insensitivity.

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Mendapatkan characters dari string yang dimulai pada index srcBegin hingga index srcEnd dan mengkopi character-character tersebut pada array dst dimulai pada index dstBegin.

public int length() Menghasilkan panjang String.

public String replace(char oldChar, char newChar) Mengganti karakter, semua yang kemunculan oldChar diganti newChar.

public String substring(int beginIndex, int endIndex)

Mengirim substring dimulai dari indeks yang dispesifikasikan beginIndex dan berakhir dengan indeks yang dispesifikasikan endIndex.

(4)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 42

public char[] toCharArray()

Menghasilkan array bertype char yang ekuivalen dengan String. public String trim()

Menghilangkan whitespace di awal dan akhir objek String.

public static String valueOf()

Dapat menggunakan tipe data sederhana seperti boolean, integer atau character, atau juga menggunakan sebuah objek sebagai parameter. Mengirim objek String yang merepresentasikan tipe tertentu yang dilewatkan sebagai parameter.

3.2 Class StringBuffer

Ketika objek String diciptakan, objek String tidak bisa lagi dimodifikasi. Objek StringBuffer serupa dengan objek String, kecuali kenyataan bahwa objek StringBuffer bersifat dapat berubah atau dapat dimodifikasi, sedangkan pada object String bersifat konstan. Panjang dan isi dapat diubah hingga beberapa pemanggilan method.

lni adalah beberapa method pada class StringBuffer. Lihatlah acuan pada dokumentasi Java API untuk detailnya.

public int capacity()

Mengirim jumlah memori yang dialokasikan untuk StringBuffer. public StringBuffer append()

Appends merepresentasikan string dari argument untuk objek StringBuffer. Menggunakan parameter tunggal seperti tipe-tipe data berikut: boolean, char, char [], double, float, int, long, Object, String and StringBuffer. Masih mempunyai versi yang di-overload lainnya.

public char charAt(int index)

Mengirim character di lokasi tertentu di StringBuffer yang dispesifikasikan parameter index.

(5)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 43

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Mendapatkan characters dari objek yang dimulai pada indeks srcBegin hingga indeks srcEnd dan mengkopi character- character tersebut pada array dst dimulai pada indeks dstBegin.

public StringBuffer delete(int start, int end) Menghapus character-character pada range yang ditentukan.

public StringBuffer insert(int offset, -) Menyisipkan beragam tipe data di offset spesifik di StringBuffer. Sebuah method yang di-overload. Tipe data yang mungkin digunakan: boolean, char, char [], double, float, int, long, Object and String. Masih mempunyai versi yang di-overload lainnya.

public int length()

Memperoleh panjang atau jumlah character di objek StringBuffer. public StringBuffer replace(int start, int end, String str)

Mengganti bagian dari objek, seperti yang dispesifikasikan oleh argument satu dua, dengan spesifikasi string str.

public String substring(int start, int end)

Substring menyaring bagian tertentu dari string, dimulai pada pengspesifikasian indeks start hingga indeks the end.

public String toString()

Mengkonversi objek ke representasi string. 3.3 Class Math

Java juga menyediakan konstanta dan method untuk menunjukkan perbedaan operasi matematika seperti fungsi trigonometri dan logaritma. Selama method-method ini semua static, Anda dapat menggunakannya tanpa memerlukan sebuah objek Math. Untuk melengkapi daftar konstanta dan method-method ini, lihatlah acuan pada dokumentasi Java API.

(6)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 44

Dibawah ini beberapa method-method umum yang sering digunakan. public static double abs(double a)

Menghasilkan nilai mutlak a. Sebuah method yang di-overload. Dapat juga menggunakan nilai float atau integer atau juga long integer sebagai parameter, dengan kondisi tipe kembalinya juga menggunakan float atau integer atau long integer, secara berturut-turut.

public static double random()

Menghasilkan nilai positif bilangan acak (random) yang lebih besar atau sama dengan 0.0 tetapi kurang dari 1.0.

public static double max(double a, double b)

Menghasilkan nilai maksimum, diantara dua nilai double, a and b. Sebuah method yang di-overload. Dapat juga menggunakan nilai float atau integer atau juga long integer sebagai parameter, dengan kondisi tipe kembalinya juga menggunakan float atau integer atau long integer, secara berturut-turut.

public static double min(double a, double b)

Menghasilkan nilai minimum diantara dua nilai double, a and b. Sebuah method yang di-overload. Dapat juga menggunakan nilai float atau integer atau juga long integer sebagai parameter, dengan kondisi tipe kembalinya juga menggunakan float atau integer atau long integer, secara berturut-turut.

public static double ceil(double a)

Menghasilkan bilangan bulat terkecil yang lebih besar atau sama dengan a.

public static double floor(double a)

Menghasilkan bilangan bulat terbesar yang lebih kecil atau sama dengan a.

(7)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 45

public static double exp(double a) Menghasilkan angka Euler, e pangkat a. public static double log(double a)

Menghasilkan logaritma natural dari a.

public static double pow(double a, double b) Menghasilkan a pangkat b.

public static long round(double a)

Menghasilkan pembulatan keatas ke long terdekat. Sebuah method yang di-overload. Dapat juga menggunakan float pada argument dan akan menghasilkan pembulatan ke atas ke int terdekat.

public static double sqrt(double a) Menghasilkan akar kuadrat a.

public static double sin(double a) Menghasilkan sinus sudut a dalam radian.

public static double toDegrees(double angrad)

Menghasilkan nilai derajat yang kira-kira setara dengan nilai radian yang diberikan.

public static double toRadians(double angdeg)

Menghasilkan nilai radian yang kira-kira setara dengan nilai derajat yang diberikan.

4. Alat dan Bahan

PC dengan sistem operasi Windows dan Java compiler.

5. Prosedur Percobaan

5.1 Penggunaan constructor String

Source-code Java dibawah ini mendemonstrasikan penggunaan constructor String. Ketiklah dan coba fahami hasilnya.

(8)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 46

1. class StringConstructorsDemo {

2. public static void main(String args[]) {

3. // membuat String kosong

4. String s1 = new String();

5. char chars[] = { 'h', 'e', 'l', 'l', 'o'};

6. // s2 = "hello";

7. String s2 = new String(chars);

8. byte bytes[] = { 'w', 'o', 'r', 'l', 'd' };

9. // s3 = "world"

10. String s3 = new String(bytes);

11. String s4 = new String(chars, 1, 3);

12. String s5 = new String(s2);

13. String s6 = s2; 14. System.out.println(s1); 15. System.out.println(s2); 16. System.out.println(s3); 17. System.out.println(s4); 18. System.out.println(s5); 19. System.out.println(s6); 20. } 21. }

5.2 Penggunaan class String

Source-code Java dibawah ini mendemonstrasikan penggunaan class String. Ketiklah dan coba fahami hasilnya

1. class StringDemo {

2. public static void main(String args[]) {

3. String nama = "Amin";

4. System.out.println("nama: " + nama);

5. System.out.println("Karakter ketiga dari nama: "

+ nama.charAt(2));

6. /* karakter yang pertama nampak secara berurutan

mempunyai nilai unicode lebih kecil */

7. System.out.println("Amin dibanding dengan

Sulaiman: " + nama.compareTo("Sulaiman"));

8. System.out.println("Sulaiman dibanding dengan

Amin: " + "Sulaiman".compareTo("Amin"));

(9)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 47

disbanding 'j' */

10. System.out.println("Amin dibanding dengan amin: "

+ nama.compareTo("Amin"));

11. System.out.println("Amin dibanding dengan Amin

(ignorecase): " +

nama.compareToIgnoreCase("Amin"));

12. System.out.println("Apakah Amin sama dengan amin?

" + nama.equals("Amin"));

13. System.out.println("Apakah Amin sama dengan Amin?

" + nama.equals("Amin"));

14. System.out.println("Apakah Amin sama dengan amin

(ignorecase)? " + nama.equalsIgnoreCase("Amin"));

15. char charArr[] = "Hi XX".toCharArray();

16. /* Membutuhkan tambahan 1 untuk indeks endSrc

dari getChars */ 17. "Amin".getChars(0, 2, charArr, 3); 18. System.out.print("getChars method: "); 19. System.out.println(charArr); 20. System.out.println("Panjang nama: " + nama.length());

21. System.out.println("Ganti ‘a’ dengan ‘e' nama: "

+ nama.replace('a', 'e'));

22. /* Membutuhkan tambahan 1 untuk parameter

endIndex dari substring*/

23. System.out.println("Substring dari nama: " +

nama.substring(0, 2));

24. System.out.println("Trim \" a b c d e f \": \"" + " a b c d e f ".trim() + "\"");

25. System.out.println("String representasi dari

ekspresi 10>10: " + String.valueOf(10>10));

26. /* method toString secara implisit dipanggil

method println */

27. System.out.println("String representasi dari

boolean expression 10<10: " + (10<10));

28. /* Catatan, tidak ada perubahan pada nama objek

String meskipun setelah penggunaan semua method. */

(10)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 48

30. }

31. }

5.3 Penggunaan class StringBuffer

Source-code Java dibawah ini mendemonstrasikan penggunaan class StringBuffer. Ketiklah dan coba fahami hasilnya.

1. class StringBufferDemo {

2. public static void main(String args[]) {

3. StringBuffer sb = new StringBuffer("Sulaiman");

4. System.out.println("sb = " + sb);

5. /* initial capacity adalah 16 */

6. System.out.println("capacity dari sb: " + sb.capacity()); 7. System.out.println("append \'O\' ke sb: " + sb.append("O")); 8. System.out.println("sb = " + sb); 9. System.out.println("Karakter ke 3 dar sb: " + sb.charAt(2));

10. char charArr[] = "Hi XX".toCharArray();

11. sb.getChars(0, 2, charArr, 3);

12. System.out.print("getChars method: ");

13. System.out.println(charArr);

14. System.out.println("Insert \'si\' pada sel ke 3

: " + sb.insert(2, "si"));

15. System.out.println("Delete \'si\' pada sel ke

3: " + sb.delete(2,4)); 16. System.out.println("length dari sb: " + sb.length()); 17. System.out.println("replace: " + sb.replace(3,9, "le")); 18. System.out.println("substring (1st two characters): " + sb.substring(0, 3)); 19. System.out.println("implicit toString(): " + sb); 20. } 21. }

5.4 Penggunaan class Math

Source-code Java dibawah ini mendemonstrasikan penggunaan class Math. Ketiklah dan coba fahami hasilnya.

(11)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 49

1. class MathDemo {

2. public static void main(String args[]) {

3. System.out.println("Nilai mutlak dari -5: " +

Math.abs(-5));

4. System.out.println("Nilai mutlak dari 5: " +

Math.abs(-5));

5. System.out.println("Bilangan random (maksimum

adalah 10): " + Math.random()*10);

6. System.out.println("Maksimum dari 3.5 dan 1.2:

" + Math.max(3.5, 1.2));

7. System.out.println("Minimum dari 3.5 dan 1.2: "

+ Math.min(3.5, 1.2));dari 3.5: " + Math.ceil(3.5)); 8. System.out.println("Floor dari 3.5: " + Math.floor(3.5)); 9. System.out.println("e pangkat 1: " + Math.exp(1)); 10. System.out.println("log 10: " + Math.log(10)); 11. System.out.println("10 pangkat 3: " + Math.pow(10,3));

12. System.out.println("Round dari nilai pi: " +

Math.round(Math.PI)); 13. System.out.println("Akar dari 5 = " + Math.sqrt(5)); 14. System.out.println("10 radian = " + Math.toDegrees(10) + " derajat"); 15. System.out.println("sin(90): " + Math.sin(Math.toRadians(90))); 16. } 17. }

6. Analisis Hasil Percobaan

Tulislahlah masing-masing output yang dihasilkan dari semua percobaan di atas. Catat semua error yang muncul selama percobaan dan coba analisa mengapa error tersebut muncul dan bagaimana mengatasinya. Bandingkan output yang anda peroleh dengan praktikan lainnya.

(12)

________________________________________________________

Modul Praktikum Pemrograman Berorientasi Objek D3 MI 50 7. Tugas

Gunakan string-string dibawah ini untuk menjawab pertanyaan berikut:

String s1 = “Welcome to Java”; String s2 = “Welcome to Java”; 1. Apa nilai yang disimpan di variabel ch setelah pernyataan

char ch = sl.charAt(6); 2.Apa yang direturn pada pernyataan

String s = sl.subString(4,8);

3. Apa hasil dari char ch = charAt(s1.length( )); 4. Apa hasil dari String s = s1+s2;

5. Apa hasil dari String s = s1-s2; 6. Apa output dari program berikut?

if (s1==s2)

System. out.println(“Mereka sama”); else

System. out.println(“Mereka berbeda”); Jelaskan alasannya!

Referensi

Dokumen terkait

Apabila Method tidak akan mengembalikan nilai kepada objek yang memanggilnya, maka bisa dituliskan didepan nama Method dengan perintah void... Karakteristik

Pada kasus-kasus tertentu Anda dapat berharap untuk memaksa integer literal untuk menjadi tipe data long dengan menambahkan karakter “l” or “L”. tipe data long

Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe  data  dan  nama.  Tipe  data  menandakan  tipe  nilai  yang 

(a) Buat project baru dengan nama Modul10g, jangan pilih opsi Create Main Class (b) Tambahkan satu package ke dalam project Modul10g, dengan cara klik kanan pada. project

Buat  program  GUI  untuk  menginputkan  dan  menampilkan  data  Mahasiswa  ke/dari 

Buatlah sebuah class baru yang berisi method main untuk menjalankan program tersebut5. Aturlah agar nilai radius yang dioperasikan adalah 1, 10