Transcription

MODUL PRAKTIKUMPEMROGRAMANBERORIENTASI OBYEKLABORATORIUM PENGOLAHAN SINYAL DIGITALFAKULTAS ELEKTRO DAN KOMUNIKASIINSTITUT TEKNOLOGI TELKOM2013

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom KATA PENGANTARSegala puji dan syukur dipanjatkan kehadirat Tuhan Yang Maha Esa karena atas kehendakNya modul Pemrograman Berorientasi Obyek ini dapat diselesaikan tim penulis yang terdiri daridosen dan asisten dari Kelompok Keahlian Pengolahan Sinyal Informasi. Modul praktikumpemrograman Berorientasi Obyek ini dibuat sebagai konsekuensi pemberlakuan kurikulum 2012 diseluruh fakultas Institut Teknologi Telkom.Mata kuliah pemrograman Berorientasi Obyek merupakan mata kuliah yang barudiberlakukan pada kurikulum 2012 di Program Studi Teknik Telekomunikasi. Sesuai dengan namamata kuliah tersebut maka kontennya menuntut mahasiswa untuk dapat mempraktekkannya secaranyata. Untuk itulah diperlukan praktikum Pemrograman Berbasis Obyek yang dapat mengajakmahasiswa untuk lebih memahami secara dalam Pemrograman Berbasis Obyek agar dapatdiaplikasikan dalam kasus sehari-hari.Modul praktikum ini terdiri atas 4 modul yang disesuaikan dengan silabus materi mata kuliahpemrograman Berbasis Obyek. Modul praktikum ini dibuat sebagai panduan mahasiswa dalammelakukan praktek secara langsung bagaimana membuat script pemrograman Berbasis Obyek.Perbaikan dan penyempurnaan modul praktikum ini menjadi keniscayaan karena setiap saat terjadipembaharuan teknologi dan informasi, oeh karena itu saran dan masukan dari para pembacamaupun pengguna modul ini menjadi sesuatu yang jauh lebih berharga daripada emas yangdisimpan.Bandung, 26 Desember 2012Tim SN,SCA,SAO,INW,TIO,MKW,IARMahasiswa:ADITYA DWI P.-EASHVA NAZORA-A.A. KOMPYANG GIRI S.P.-YASIR CHAIRUMAN TASADSP LABORATORY TEAM1

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom DAFTAR ISIKata Pengantar. 1Daftar Isi . 2Daftar Tabel . 3Daftar Gambar . 4Modul 1 DASAR PEMROGRAMAN JAVA . 5A. Tujuan . 5B. Perangkat . 5C. Dasar Teori . 51. Deklarasi Variabel. 52. Operator . 83. Kondisional dan Pilihan . 11Modul 2 ARRAY, METHOD, DAN PENGULANGAN. 15A. Tujuan . 15B. Perangkat . 15C. Dasar Teori . 151. Array/Larik. 152. Method . 203. Pengulangan . 234. Rekursi . 28Modul 3 OOP-1 . 31A. Tujuan . 31B. Perangkat . 31C. Dasar Teori . 311. Definisi OOP . 312. Modifier. 313. Class. 334. Object . 345. Method . 346. Constructor . 357. This . 368. Overload . 379. UML . 38Modul 4 OOP-2 dan Pewarisan . 44A. Tujuan . 44B. Perangkat . 44C. Dasar Teori . 441. Pewarisan (Inheritance) . 442. Enkapsulasi . 473. Inner Class . 494. Polymorfisme . 505. Override. 506. Abstraksi . 51Daftar Pustaka. 542

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom DAFTAR TABELTabel 1.1 Tipe Data Primitif Integer . 6Tabel 1.2 Tipe Data Primitif Floating Point . 6Tabel 1.3 Operator Aritmatika . 8Tabel 1.4 Operator Relasional . 9Tabel 1.5 Operator Kondisional . 9Tabel 1.6 Contoh Operasi Kondisional . 9Tabel 1.7 Operator Shift dan Bitwise . 10Tabel 1.8 Contoh Operasi Bitwise . 10Tabel 1.9 Operator Assignment . 10Tabel 2.1 Contoh Array . 16Tabel 2.2 Contoh Array Multi Dimensi . 17Tabel 2.3 Konstruktor String . 18Tabel 3.1 Kelompok Modifier . 32Tabel 3.2 Karakteristik Access Modifier . 32Tabel 3.3 Karakteristik Permitted Modifier . 32Tabel 4.1 Perbedaan Tingkat Akses Enkapsulasi . 47Tabel 4.2 Perbedaan Override dan Overload . 503

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom DAFTAR GAMBARGambar 2.1 Pengulangan dengan while . 24Gambar 2.2 Pengulangan dengan do while. 25Gambar 2.3 Activity Diagram untuk perulangan dengan for . 27Gambar 2.4 Contoh Activity Diagram untuk perulangan dengan for . 27Gambar 3.1 Use Case Diagram . 39Gambar 3.2 Contoh Class Diagram . 39Gambar 3.3 Contoh Statechart Diagram . 41Gambar 3.4 Contoh Activity Diagram . 42Gambar 4.1 Contoh Pewarisan pada kelas hewan . 44Gambar 4.2 C ontoh UML dengan kelas turunan tingkat 2 . 534

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom MODUL 1DASAR PEMROGRAMAN JAVAA. TUJUAN Praktikan mampu memahami tentang dasar-dasar pemrograman java. Praktikan mampu memahami tentang deklarasi variabel, operator, kondisional &pilihan, serta string. Praktikan dapat mengimplementasikannya dalam program sederhana denganmenggunakan NetBeans.B. PERANGKAT NetBeans IDE 7.2C. DASAR TEORI1. Deklarasi VariabelBahasa pemrograman pada umumnya mengenal adanya variabel yang digunakanuntuk menyimpan nilai atau data. Java dikenal dengan bahasa pemrogramanyang bersifat strongly typed yang artinya diharuskan mendeklarasikan tipe datadari semua variabel dan apabila lupa atau salah mengikuti aturan pendeklarasianvariabel maka akan mendapat error pada saat proses kompilasi.1.1 Tipe dataJava memiliki dua jenis tipe data yang dikategorikan menjadi dua yaitu tipedata primitif dan tipe data referensi.1.1.1 Tipe Data PrimitifMacam tipe data primitif diantaranya : Integer (Bilangan bulat)Integer merupakan tipe data numerik yang digunakan untukmendefinisikan bilangan bulat. Tipe data numeric yang termasukinteger diantaranya :5

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Tabel 1.1 Tipe Data Primitif IntegerTipeByteShortIntLong Deskripsi-128 s/d 127 menempati 8 bits di memori-32768 s/d 32767 menempati 16 bits di memori-2147483648 s/d 2147483647 menempati 32 bits dimemori-9223372036854775808 s/d 9223372036854775807menempati 64 bits di memoriFloating Point (Bilangan pecahan)Floating point digunakan untuk menangani bilangan decimal atauperhitungan yang lebih detail dibanding integer.Tabel 1.2 Tipe Data Primitif Floating PointTipeFloatDouble Deskripsi-3.4x108 s/d 3.4x108-1.7x10308 s/d 1.7x10308CharChar adalah karakter tunggal yang pendefinisiannya di awal danakhir menggunakan tanda petik tunggal ( ‘ ). Tipe char mengikutiaturan Unicode, sehingga bisa dapat menggunakan kode untukkemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasadigunakan adalah bilangan heksadesimal dari 0000 sampai FFFF. BooleanTipe data Boolean terdiri dari dua nilai saja, yaitu true dan false.Boolean sangat penting untuk mengevaluasi suatu kondisi.1.1.2 Tipe Data ReferensiKelebihan pemrograman dengan orientasi objek adalah dapatmendefinisikan tipe data baru yang merupakan objek dari classtertentu. Tipe data ini digunakan untuk mereferensikan objek atauclass tertentu, seperti String.6

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom VariabelVariabel merupakan container yang digunakan untuk menyimpansuatu nilai pada sebuah program dengan tipe tertentu. Untukmendefinisikan variabel, suatu identifier dapat digunakan untukmenamai variabel tersebut. IdentifierIdentifier adalah kumpulan karakter yang dapat digunakan untukmenamai variabel, method, class, interface, dan package. Dalampemrograman Java identifier bisa disebut sah apabila diawalidengan :- Huruf /abjad- Karakter Mata Uang- Underscore( )Identifier dapat terdiri dari :- Huruf / abjad- Angka- Underscore ( )Identifier tidak boleh mengandung @, spasi atau diawali denganangka serta tidak boleh menggunakan keyword yang telahdigunakan di pemrograman java. Selain karakter, Unicode jugadapat digunakan sebagai identifier.1.2 Mendeklarasikan VariabelSintaks dasar :[tipe data] [nama variabel]Menuliskan tipe data dari variabel, contoh :int bilangan;char karakter;float bildesimal;boolean status;{Setelah dideklarasikan sesuai dengan tipe data, selanjutnya memberinilai variabel tersebut dengan tanda }7

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Bilangan 20;Karakter ‘k’;Bildesimal 22.2f;Status true;{melakukan deklarasi tipe data dan memberi nilai variabel dalam satubaris}int bilangan 20;char karakter ‘k’;boolean status true;{membuat variabel menjadi konstanta sehingga tidak bisa diubah lagunilainya dengan menambahkan keyword sebelum tipe data}Final int a 10;Final float pajak 15.5;{membuat agar konstanta dapat diakses oleh kelas lain tanpa harusmembuat objek terlebih dulu dilakukan penambahan modifier public dankeyword static}Public static final a 10;2. OperatorOperator adalah simbol khusus yang menyajikan operasi khusus pada satu, dua,atau tiga operand dan kemudian mengembalikan hasilnya.Jenis operator antara lain :2.1 Operator AritmatikaOperator ini digunakan pada operasi-operasi aritmatika seperti penjumlahan,pengurangan, pembagian dan lain-lain.Tabel 1.3 Operator AritmatikaOperatorKeterangan */% --PenjumlahanPenguranganPerkalianPembagianModulus (sisa bagi)Increment (menaikkan nilai dengan 1)Decrement (menurunkan nilai dengan1)8

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom 2.2 Operator RelasionalUntuk membandingkan 2 nilai (variabel) atau lebih digunakan operatorrelasional, dimana operator ini akan mengembalikan atau menghasilkan nilaiTrue atau False.Tabel 1.4 Operator RelasionalOperatorKeterangan Sama dengan! Tidak sama denganLebih besarLebih kecilLebih besar atau sama denganLebih kecil atau sama dengan2.3 Operator KondisionalOperator ini menghasilkan nilai yang sama dengan operator relasional, hanyasaja penggunaannya lebih pada operasi – operasi Boolean.Tabel 1.5 Operator KondisionalOperatorKeterangan&&Operasi AND !Operasi OROperasi XOROperasi NOT (Negasi)Tabel 1.6 Contoh Operasi KondisionalABA&&BA BA ueTrueFalse2.4 Operator Shift dan BitwiseKedua operator ini digunakan untuk memanipulasi nilai dari bitnya, sehinggadiperoleh nilai yang lain.9

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Tabel 1.7 Operator Shift dan BitwiseOperatorKeterangan&Operasi bitwise AND Operasi bitwise OROperasi bitwise XOROperasi bitwise NOTOperasi shift right (geser ke kanan sebanyak n bit)Operasi shift right zero fillOperasi shift left (geser ke kiri sebanyak n bit)Tabel 1.8 Contoh Operasi BitwiseA B A&B A B A B A1 111001 00 10 00001101100112.5 Operator AssignmentOperator assignment dalam java digunakan untuk memberikan suatu nilai kesebuah variabel. Operator assignment hanya berupa ‘ ’, namun selain itudalam Java beberapa shortcut assignment operator yang penting.Tabel 1.9 Operator AssignmentOperatorContohEkivalen dengan b ab b a- * / % & b- ab* ab/ ab% aa& ba ba ba ba ba bb b-ab b*ab b/ab b%aa a&ba a ba a ba a ba a ba a b10

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Contoh 1:public class contoh1a {public static void main (String[]args){int x, y, c;x 4&6;y 5 2;c (2 ystem.out.println(x);public class contoh1b {public static void main (String[]args) {int a 20;int b 10;System.out.println(“Hasil dari a%b ” (a%b));System.out.println(“Hasil dari a*b ” (a*b));System.out.println(“Hasil dari a ditambah” (a ));}}Contoh 2:public class Konversi{public static void main(String args[]){float m, cm, inci;m 30;cm m * 100;inci m * 100 / 2.54f;System.out.println("Ukuran dalam CM " cm);System.out.println("Ukuran dalam Inci " inci);}}3. Kondisional dan Pilihan3.1 IFStatement if memungkinkan sebuah program untuk dapat memilih beberapaoperasi untuk dieksekusi, berdasarkan beberapa pilihan. Terdapat tiga jenisstatement If diantaranya : IfBentuk If adalah yang paling sederhana, mengandung suatu pernyataantunggal yang dieksekusi jika ekspresi bersyarat adalah benar.Sintaks dasar:If (ekspresi kondisional) {statement1;statement2; }11

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom If, elseUntuk melakukan beberapa operasi yang berbeda jika salah satu ekspresikondisional bernilai salah, maka digunakan statement else. Bentuk if-elsememungkinkan dua alternatif operasi pemrosesan.Sintaks dasar:If (ekspresi kondisional) {statement1;statement2; }else {statement1;statement2; } If, else if, elseBentuk if, else if, else memungkinkan untuk tiga atau lebih alternativepemrosesan.Sintaks dasar:If (ekspresi kondisional) {statement1;statement2; }else if (ekspresi kondisional){statement1;statement2; } else {statement1;statement2; }Contoh :1. Ifpublic class IfSatuPilihan{public static void main(String args[]){int bil;bil 0;if (bil 0)System.out.println("Bilangan Nol");}}2. If, elseimport java.util.Scanner;public class IfDuaPilihan{public static void main(String args[]){Scanner masuk new Scanner(System.in);int bil;12

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom System.out.print("Masukkan bilangan : ");bil masuk.nextInt();if (bil 0)System.out.println("Bilangan Nol");elseSystem.out.println("Bilangan Bukan Nol");}}3. If, else if, elseimport java.util.Scannerpublic class Buah{public static void main(String args[]){Scanner masuk new Scanner(System.in);int pil;System.out.print("Masukkan pilihan : ");pil masuk.nextInt();if (pil 1)System.out.println("Buah Pepaya");else if(pil 2)System.out.println("Buah Stroberi");else if(pil 3)System.out.println("Buah Apel");elseSystem.out.println("Bukan Buah deh");}}3.2 SwitchSwitch adalah pernyataan yang digunakan untuk menjalankann salah satupernyataan dari beberapa kemungkinan statement untuk dieksekusi,berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksi. Setiap ungkapandiungkapkan dengan sebuah nilai integral konstan, seperti sebuah nilaidengan tipe byte, short, int atau char.Sintaks dasar :switch (ekspresi){case value1:statement1;statement2;break;case value2:statement1;statement2;break; [default:]statement1;statement2;}13

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom KeteranganCase: menandai posisi kode dimana eksekusi dilaksanakan.Value1, dst: konstanta integer atau karakter ataupun ekspresi yangmengevaluasi keduanya.Default: berfungsi sama seperti else pada statement if.Break: dapat menghentikan perulangan walaupun kondisi untukberhenti belum terpenuhi.Continue:dengan statement ini kita bisa melewatkan operasi yangdilakukan dalam iterasi sesuai dengan kondisi tertentu.Contoh :import java.util.Scanner;public class CaseJurusan{public static void main(String args[]){Scanner masuk new Scanner(System.in);int pil;System.out.print("Masukkan pilihan :S1 TT ");pil masuk.nextInt();switch (pil) {case 1:System.out.println("S1 TE");break;case 2:System.out.println("S1 SK");break;case 3:System.out.println("D3 TT");break;case 4:System.out.println("D3 IF");break;case 5:System.out.println("S1 TI");break;default:System.out.println("Input salah!");break;}}}14

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom MODUL 2Array, Method, dan PengulanganA. TUJUAN Mahasiswa memahami tentang pengertian array serta dapat membuat programdengan menggunakan array. Mahasiswa memahami tentang pengertian sub program dan dapat membuat subprogram sederhana. unakanperulangan, baik rekursif, for, do.while dan while.B. PERANGKAT NetBeans IDE 7.2C. DASAR TEORI1. Array / Larik1.1 Definisi Array / LarikLarik adalah sebuah struktur data yang terdiri dari data yang bertipe sama.Ukuran larik bersifat tetap, larik akan mempunyai ukuran yang sama padasaat sekali dibuat. Larik dalam Java adalah obyek, disebut juga sebagai tipereferensi. Sedangkan elemen dalam larik Java bisa primitif atau referensi.Posisi dari larik biasa disebut sebagai elemen. Elemen larik dimulai dari 0(nol). Penyebutan larik diberikan dengan cara menyebutkan nama lariknyadan diikuti dengan indeksnya, dimana indeks dituliskan diantaratandakurung siku. Gambar 1. memperlihatkan gambaran larik dengan 10 elemen,dimana setiap elemennya bertipe integer, dengan nama A.15

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Tabel 2.1 Contoh si larik12-562345-16-2854115201.2 Deklarasi dan Menciptakan Array / LarikSebagai sebuah obyek, larik harus diciptakan dengan menggunakan katacadang new. Deklarasi dan penciptaan variabel larik gambar 1 adalah sebagaiberikut.int A[] new int[10];larik dideklarasikan dan langsung diciptakan . Atauint A[];A new int[10];larik dideklarasikan, baru pada pernyataan berikutnya larik diciptakan.Contoh:import java.util.Scanner;public class Larik1{public static void main (String args[]){Scanner masuk new Scanner(System.in);float nilai[] new float[5];System.out.println("masukkan 5 buah data nilai");for(int i 0;i 5;i ){System.out.print("Data ke" (i 1) ": ");nilai[i] masuk.nextFloat();}System.out.println("data nilai yang dimasukkan");for(int i 0;i 5;i )System.out.println(nilai[i]);}}Hasil Output:masukkan 5 buah data nilaiData ke1: 2Data ke2: 4Data ke3: 5Data ke4: 7Data ke5: 9data nilai yang dimasukkan2.04.05.016

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom 7.09.01.3 Array Multi Dimensi (N-Dimensi)Kita juga bisa membuat variabel larik yang tipe elemennya adalah larik.Dengan cara demikian, kita membuat larik dua dimensi. Dengan larik duadimensi, maka kita mempunyai elemen yang berindeks tidak hanya satu,tetapi dua. Kita bisa membayangkan larik dua dimensi tersebut sepertisebuah tabel yang berisi baris dan kolom. Penyebutan sel tabel selalu diikutidengan penyebutan baris berapa dan kolom berapa.Contoh :Diberikan data kelulusan mahasiswa sebuah perguruan tinggi sebagai berikut.Tabel 2.2 Contoh Array Multi DimensiJurusan2006 2007 2008Teknik Informatika 110 125 135Sistem Informasi567580int data lulus [2] [3]TI0SI1012006200722008[[0] [0][0] [1][1] [0][1] [1][[[[[0] [2][[1] [2]17

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Contoh:public class ArrayDimensiDua{public static void main(String [] args){int [][] piksel new int[2][3];// mengisi elemen tertentupiksel[0][0] 70;piksel[0][1] 18;piksel[0][2] 45;piksel[1][0] 75;piksel[1][1] 66;piksel[1][2] 89;//menampilkan elemen arrayint i,j;for(i 0;i 2;i ){for (j 0; j 3;j )System.out.print(piksel[i][j] " ");System.out.println("");}}}Hasil Output :70 18 4575 66 891.4 StringString adalah kelas yang menangani deretan karakter. Kelas ini mendukungsejumlah metode yang sangat berguna untuk memanipulasi string, misalnyauntuk mengkonversikan setiap huruf kecil menjadi huruf besar atausebaliknya, memperoleh jumlah karakter dan sebagainya. String sebenarnyamerupakan class yang terdapat pada library Java.Kelas string memiliki banyak konstruktor, seperti tabel berikut:Tabel 2.3 Konstruktor StringKonstruktorKeteranganString()Menciptakan obyek string yg berisistring kosong (jumlah karakter 0)String(char[]v)Menciptakan obyek string yg berisistring yg berasal dari array yg dirujukoleh vString(String v)Menciptakan obyek string yg isinyasama dengan obyek stringargumennya18

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Metode dalam kelas string memperlihatkan sejumlah metode penting dalamkelas string, seperti : copyValueOf(char data[])copyValueOf(char data[], int offset, int jum)valueOf(boolean b)valueOf(double c)cocat(String s)length()trim()dan lain-lainKelas StringBuffer adalah kelas yg menyimpan string yang konstan, begituobyek string telah diciptakan maka string tidak dapat diubah. Konstruktorkelas ini antara lain : StringBuffer() digunakan untuk menciptakan StringBuffer yang kosong StringBuffer(int n) digunakan untuk menciptakan StringBuffer dengan nkarakter StringBuffer(String s) digunakan untuk menciptakan StringBuffer denganstring berupa s.Contoh :public class ContohString{public static void main(String args[]){byte data[] new byte[6];data[0] 64;data[1] 65;data[2] 66;data[3] 67;data[4] 68;data[5] 69;String s1 "Selamat Pagi";String s2 new String("Good Morning");String s3 new String(data);String s4 new String(data, 2, 3);System.out.println("s1 " s1);System.out.println("s2 " s2);System.out.println("s3 " s3);System.out.println("s4 " s4);}}19

Laboratorium Pengolahan Sinyal DigitalInstitut Teknologi Telkom Hasil output :s1s2s3s4 Selamat PagiGood [email protected] program di atas, pernyataan seperti :String s1 "Selamat Pagi";Sebenarnya identik dengan :String s1 new String("Selamat Pagi");PernyataanString s3 new String(data);akan membuat string yang tersusun atas karakter-karakter yang nilainyasama seperti elemen-elemen pada array data, maka s3 berisi string @ABCDEadalah karakter @ 64, A 65 dan seterusnya.Pernyataan :String s4 new String(data, 2, 3);Angka 3 menyatakan jumlah karakter yg menyusun string dan angka 2menyatakan karakter pertama pada string, hasil diambil pd indeks ke-2 array.2. Method2.1 Method Tanpa VariabelMethod (atau dalam beberapa bahasa pemrograman sering disebut fungsiatau prosedur) adalah sub program yang membiarkan seorang programeruntuk membagi program dengan membagi masalah ke dalam beberapa submasalah yang bisa diselesaikan secara modular. Dengan cara de

modul praktikum pemrograman berorientasi obyek laboratorium pengolahan sinyal digital fakultas elektro dan komunikasi institut teknologi telkom