tujuan instruksional umum · pdf filedi awal untuk menambah kemampuan dalam menciptakan...

42
1 TUJUAN INSTRUKSIONAL UMUM Setelah menyelesaikan pokok bahasan ini, mahasiswa akan mampu memahami dan bisa menjelaskan konsep lanjutan dasar pemrograman tentang data majemuk dan method yang mendukung pemrograman modular. PENGANTAR Pada Pemrograman Terstruktur, program dibedakan menjadi bagian data dan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun atau terstruktur. Paradigma pemrograman seperti ini dinamakan pemrograman terstruktur. Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi- instruksi dalam bahasa komputer dimana instruksi-instruksi tersebut disusun secara logis dan sistematis supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi. Pola penyusunan program komputer pada pemrograman terstruktur dilakukan hanya dengan menggunakan tiga struktur kontrol yaitu: Sequence : Sequence merupakan urutan pengerjaan dari perintah/statement pertama sampai dengan perintah/statement terakhir. Umumnya bahasa pemrograman mempunyai sequence mulai dari atas ke bawah dan dari kiri ke kanan. Selection : Selection adalah struktur kontrol yang menggabungkan sebuah kondisi dan pilihan diantara dua aksi. Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak maka akan mengerjakan perintah setelah keyword “else” (jika ada). Repetition: Beberapa statement / perintah dapat diulang dengan menggunakan struktur kontrol repetition. Statement / perintah akan tetap diulang selama kondisi perulangan memenuhi (jika menggunakan DO WHILE ENDDO). Dalam pemrograman berorientasi objek ada konsep data majemuk dan method yang harus diketahui di awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari elemen larik dapat berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen larik mempunyai nomor indeks yang unik dan disimpan secara berurutan di dalam memori. Kebanyakan program yang telah dibuat ternyata tersusun dengan kurang baik, sehingga melakukan perubahan pada program-program tersebut merupakan pekerjaan yang sulit dan menghabiskan waktu. Kadangkala, program-program tersebut perlu ditulis ulang secara keseluruhan. Dalam Pemrograman OOP (Object Oriented Programming), dikenal metode untuk "memecah" kode program yang panjang menjadi modul-modul yang saling terkait antara yang satu dengan yang lain.

Upload: hoangnhan

Post on 06-Feb-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

1

TUJUAN INSTRUKSIONAL UMUM Setelah menyelesaikan pokok bahasan ini, mahasiswa akan mampu memahami dan bisa menjelaskan

konsep lanjutan dasar pemrograman tentang data majemuk dan method yang mendukung

pemrograman modular.

PENGANTAR Pada Pemrograman Terstruktur, program dibedakan menjadi bagian data dan bagian instruksi.

Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara

berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan

kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun atau

terstruktur. Paradigma pemrograman seperti ini dinamakan pemrograman terstruktur.

Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi-

instruksi dalam bahasa komputer dimana instruksi-instruksi tersebut disusun secara logis dan

sistematis supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi. Pola penyusunan

program komputer pada pemrograman terstruktur dilakukan hanya dengan menggunakan tiga

struktur kontrol yaitu:

Sequence : Sequence merupakan urutan pengerjaan dari perintah/statement pertama sampai

dengan perintah/statement terakhir. Umumnya bahasa pemrograman mempunyai sequence

mulai dari atas ke bawah dan dari kiri ke kanan.

Selection : Selection adalah struktur kontrol yang menggabungkan sebuah kondisi dan pilihan

diantara dua aksi. Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak

maka akan mengerjakan perintah setelah keyword “else” (jika ada).

Repetition: Beberapa statement / perintah dapat diulang dengan menggunakan struktur

kontrol repetition. Statement / perintah akan tetap diulang selama kondisi perulangan

memenuhi (jika menggunakan DO WHILE – ENDDO).

Dalam pemrograman berorientasi objek ada konsep data majemuk dan method yang harus diketahui

di awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array)

adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari

elemen larik dapat berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen larik

mempunyai nomor indeks yang unik dan disimpan secara berurutan di dalam memori. Kebanyakan

program yang telah dibuat ternyata tersusun dengan kurang baik, sehingga melakukan perubahan

pada program-program tersebut merupakan pekerjaan yang sulit dan menghabiskan waktu.

Kadangkala, program-program tersebut perlu ditulis ulang secara keseluruhan. Dalam Pemrograman

OOP (Object Oriented Programming), dikenal metode untuk "memecah" kode program yang panjang

menjadi modul-modul yang saling terkait antara yang satu dengan yang lain.

PENGANTAR Pada Pemrograman Terstruktur, program dibedakan menjadi bagian data dan bagian instruksi.

Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara

berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan

kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun atau

Paradigma pemrograman seperti ini dinamakan pemrograman terstruktur.

Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi-

instruksi dalam bahasa komputer dimana instruksi-instruksi tersebut disusun secara logis dan

sistematis supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi. Pola penyusunan

program komputer pada pemrograman terstruktur dilakukan hanya dengan menggunakan tiga

struktur kontrol yaitu:

Sequence : Sequence merupakan urutan pengerjaan dari perintah/statement

dengan perintah/statement terakhirstatement terakhirstatement . Umumnya bahasa pemrograman mempunyai

mulai dari atas ke bawah dan dari kiri ke kanan.

Selection : Selection adalah struktur kontrol yang menggabungkan sebuah kondisi dan pilihan

diantara dua aksi. Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak Statement

maka akan mengerjakan perintah setelah keyword “else” (jika ada).

Repetition: Beberapa statement / perintah dapat diulang dengan menggunakan struktur statement / perintah dapat diulang dengan menggunakan struktur statement

repetition. Statement / perintah akan tetap diulang selama kondisi perulangan Statement / perintah akan tetap diulang selama kondisi perulangan Statement

memenuhi (jika menggunakan DO WHILE – ENDDO– ENDDO– ).

Dalam pemrograman berorientasi objek ada konsep data majemuk dan method

di awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (

adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari

Page 2: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

2

Konsep Dasar Array

TUJUAN INSTRUKSIONAL KHUSUS Setelah menyelesaikan sub pokok bahasan ini diharapkan :

a. Mahasiswa mampu menjelaskan konsep dasar array.

b. Mahasiswa mampu merancang array berdimensi satu dan multi berdimensi.

c. Mahasiswa mampu membuat array dalam pemrograman java.

1 Pendahuluan

1.1 Pengantar

Dalam pemrograman berorientasi objek ada konsep data majemuk dan method yang harus diketahui

di awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array)

adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari

elemen larik dapat berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen larik

mempunyai nomor indeks yang unik dan disimpan secara berurutan di dalam memori. Penamaan

larik harus mengikuti aturan-aturan penamaan variabel. Seperti halnya variabel sederhana, larik pun

harus dideklarasikan dahulu sebelum digunakan. Deklarasi larik berisi tipe data larik, nama larik, dan

jumlah maksimum elemen yang dapat ditampungnya. Bahasa Java tidak membatasi jumlah dimensi

array yang bisa digunakan. Hal ini semata-mata dibatasi jumlah memori komputer yang tersedia.

1.2 Tujuan

Tujuan pembelajaran pada modul ini adalah :

Menerapkan konsep tipe data array untuk data majemuk homogen.

Memahami definisi dan karakteristik array.

Memahami inisialisasi array.

Menerapkan array dimensi satu.

Menerapkan array multi dimensi (berdimensi dua dan tiga)

Memahami String dan karakter dalam Bahasa Java.

TUJUAN INSTRUKSIONAL KHUSUS Setelah menyelesaikan sub pokok bahasan ini diharapkan :

Mahasiswa mampu menjelaskan konsep dasar array.

Mahasiswa mampu merancang array berdimensi satu dan multi berdimensi.

Mahasiswa mampu membuat array dalam pemrograman java.

Pendahuluan

Pengantar

Dalam pemrograman berorientasi objek ada konsep data majemuk dan method yang harus diketahui

di awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (

adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari

elemen larik dapat berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen larik

mempunyai nomor indeks yang unik dan disimpan secara berurutan di dalam memori.

larik harus mengikuti aturan-aturan penamaan variabel. Seperti halnya variabel sederhana, larik pun

harus dideklarasikan dahulu sebelum digunakan. Deklarasi larik berisi tipe data larik, nama larik, dan

jumlah maksimum elemen yang dapat ditampungnya. Bahasa Java tidak membatasi jumlah dimensi

yang bisa digunakan. Hal ini semata-mata dibatasi jumlah memori komputer yang tersedia.

Tujuan

Tujuan pembelajaran pada modul ini adalah :

Page 3: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

3

1.3 Definisi

array

Larik (array) adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe

data dari elemen larik dapat berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen

larik mempunyai nomor indeks yang unik dan disimpan secara berurutan di dalam memori.

Array dimensi satu

Array adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan

data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1 indeks.

Array dimensi dua

Array adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan

data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 2 indeks.

Array multidimensi

Array adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan

data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui banyak indeks.

String

String adalah Array of character yang diakhiri dengan null character ( ‘\0’ atau ASCII nya = 0). String

constant atau string literal adalah beberapa character yang diapit oleh tanda petik dua.

2 Array

2.1 Definisi array

Awal mula dibutuhkan array adalah kita ingin menyimpan banyak data dalam setiap variabel yang

didefinisikan. Misal kita ingin menyimpan data nomer induk mahasiswa dalam satu kelas yang berisi

40 mahasiswa. Idealnya kita akan mendefinikan 40 variabel dimana masing-masing variabel

digunakan untuk menyimpan satu nomer induk mahasiswa. Jika kita ingin menyimpan nomer induk

mahasiswa satu kampus yang mungkin jumlahnya bisa puluhan ribu, maka akan tidak sangat efisien

jika kita mendefinisikan puluhan variabel hanya untuk menyimpan nomer induk mahasiswa satu

kampus. Disinilah konsep array muncul, dimana hanya butuh nama satu variabel sudah bisa

digunakan untuk mewakili akses data tak terbatas ke memori komputer yang di berikan dalam

bentuk indek. Data disimpan dalam suatu struktur, sedemikian rupa sehingga elemen-elemen di

dalam struktur tersebut dapat diolah secara kelompok ataupun secara individu. Array adalah meru-

pakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan data yang memiliki

tipe sama dan elemen yang akan diakses hanya melalui banyak indeks. Larik (array) adalah variabel

kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari elemen larik dapat

berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen larik mempunyai nomor

indeks yang unik dan disimpan secara berurutan di dalam memori. Penamaan larik harus mengikuti

aturan-aturan penamaan variabel. Seperti halnya variabel sederhana, larik pun harus dideklarasikan

dahulu sebelum digunakan. Deklarasi larik berisi tipe data larik, nama larik, dan jumlah maksimum

adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan

data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1 indeks.

Array dimensi dua

adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan

data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 2 indeks.

Array multidimensi

adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan sekumpulan

data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui banyak indeks.

Array of character yang diakhiri dengan null character ( ‘\0’ atau ASCII nya = 0).

string literal adalah beberapa character yang diapit oleh tanda petik dua. character yang diapit oleh tanda petik dua. character

Array

Definisi array

Awal mula dibutuhkan array adalah kita ingin menyimpan banyak data dalam setiap variabel yang

didefinisikan. Misal kita ingin menyimpan data nomer induk mahasiswa dalam satu kelas yang berisi

40 mahasiswa. Idealnya kita akan mendefinikan 40 variabel dimana masing-masing variabel

digunakan untuk menyimpan satu nomer induk mahasiswa. Jika kita ingin menyimpan nomer induk

mahasiswa satu kampus yang mungkin jumlahnya bisa puluhan ribu, maka akan tidak sangat efisien

jika kita mendefinisikan puluhan variabel hanya untuk menyimpan nomer induk mahasiswa satu

kampus. Disinilah konsep array muncul, dimana hanya butuh nama satu variabel sudah bisa

digunakan untuk mewakili akses data tak terbatas ke memori komputer yang di berikan dalam

Data disimpan dalam suatu struktur, sedemikian rupa sehingga elemen

Page 4: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

4

elemen yang dapat ditampungnya. Bahasa Java tidak membatasi jumlah dimensi array yang bisa

digunakan. Hal ini semata-mata dibatasi jumlah memori komputer yang tersedia. Sintak deklarasi

larik adalah sebagai berikut:

tipe_data nama_larik [];

atau

tipe_data[] nama_larik;

Larik dapat berdimensi satu, dua, tiga, ataupun lebih, sesuai dengan kebutuhan pemrogram. Dalam

bahasa Java, elemen pertama suatu larik diberi indeks nol, elemen kedua diberi indeks satu, dan

seterusnya. Setelah dideklarasikan, larik dapat didefinisikan atau diisi dengan nilai-nilai. Sintak

pengisian nilai ke dalam indeks tertentu dari sebuah larik yaitu:

nama_larik[indeks_larik] = nilai;

Setelah sebuah larik didefinisikan, elemen larik dapat diakses dengan cara memanggil nama dan

nomor indeksnya, seperti berikut ini:

nama_larik[indeks_larik]

2.2 Sifat - sifat Array

Array sebenarnya adalah penulisan lain dari sekelompok variabel yang memiliki tipe data yang sama

dan digunakan untuk menyimpan data yang di ringkas dalam sebuah penamaan variabel yang diakses

melalui indeks. Perhatikan gambar dibawah:

Gambar 1 Penggambaran sifat array

Misal kita ibaratkan bahwa array bisa kita gambarkan sebagai sebuah almari yang didalamnya ada

beberapa laci. Almari kita anggap sebagai array, sedangkan laci kita anggap sebagai indek array yang

sudah dikasih nomer. Dari gambar diatas kita umpamakan ada dua buah almari (array) yaitu almari A

dengan delapan laci dan almari B dengan delapan laci juga. Dengan melihat kasus ini kita bisa

memberikan beberap sifat dari array.

Array memiliki beberapa sifat, diantaranya:

Homogen : Seluruh elemen di dalam struktur array mempunyai tipe data yang sama.

Ketika kita mendefinisikan data array dengan tipe data integer maka setiap elemen yang

ada dalam array semuanya bertipe integer. Dalam contoh almari diatas setiap laci

Larik dapat berdimensi satu, dua, tiga, ataupun lebih, sesuai dengan kebutuhan pemrogram. Dalam

, elemen pertama suatu larik diberi indeks nol, elemen kedua diberi indeks satu, dan

seterusnya. Setelah dideklarasikan, larik dapat didefinisikan atau diisi dengan nilai

pengisian nilai ke dalam indeks tertentu dari sebuah larik yaitu:

nama_larik[indeks_larik] = nilai;

Setelah sebuah larik didefinisikan, elemen larik dapat diakses dengan cara memanggil nama dan

nomor indeksnya, seperti berikut ini:

nama_larik[indeks_larik]

Sifat - sifat Array

sebenarnya adalah penulisan lain dari sekelompok variabel yang memiliki tipe data yang sama

dan digunakan untuk menyimpan data yang di ringkas dalam sebuah penamaan variabel yang diakses

melalui indeks. Perhatikan gambar dibawah:

Gambar 1 Penggambaran sifat array

Misal kita ibaratkan bahwa bisa kita gambarkan sebagai sebuah almari yang didalamnya ada

Page 5: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

5

memiliki bentuk dan ukuran yang sama yang artinya disini laci dalam almari memiliki sifat

homoge.

Random Access : Setiap elemen di dalam struktur array dapat dicapai secara individual,

langsung ke lokasi elemen yang diinginkan, tidak harus melalui elemen pertama. Dalam

contoh almari diatas, misalkan kita ingin menyimpan buku di almari B laci nomer 4, yang

kita lakukan adalah membuka laci nomer 4 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 4. Begitu juga jika kita ingin

mengambil buku di laci nomer 5 dari almari B. Kita bisa langsung mengambil buku

dengan cara membuka laci nomer 5 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 5.

Indeknya terdefinisi: Dalam mengakses indek data array harus terdefinisi dengan benar.

Jika indek yang diakses dalam array tidak terdefinisi maka akan terjadi NULL pointer.

Artinya alamat array yang diakses dalam memori tidak ada. Bisa diibaratkan jika kita

ingin mengakses atau menyimpan data dalam sebuah laci tetapi lacinya tidak ada. Jika

kita ingin menyimpan buku di almari A atau B di laci nomer 9, tentu kita akan bingung

laci mana yang dimaksud.

Data tunggal : Dalam setiap menyimpan data dalam indek array, hanya bisa dengan data

tunggal atau satu data saja. Dalam contoh alamari diatas, kita hanya bisa menyimpan

satu buah buku misalnya kedalam masing-masing laci.

Default value array: Array yang di definisikan boleh memiliki indek yang di luar

kebutuhan dan secara default terisi dengan nilai default sesuai tipe data array. Misalkan

kita hanya mengisi dua data dalam array, tetapi kita mendeklarasikan array itu terdiri

dari 8 indek. Maka array yang terisi hanya indek 0 dan indek 1.

2.3 Deklarasi Array

Array pada Java adalah sebuah object, maka harus dideklarasikan menggunakan kata kunci new.

Index dimulai dari 0 sampai jumlah element – 1. Sintaks deklarasi array dimensi satu:

type nama_arrray[] = new tipe[Nilai_dim];

Contoh : int a[] = new int[10];

Gambar 2 Visualisasi array

Definisi dari sebuah array terdiri dari 4 komponen yaitu :

Type specifier : tipe data array sama seperti tipe data variabel: integer, float, double, char,

String, boolean, dll.

Identifier (nama array) : nama dari array.

mengambil buku di laci nomer 5 dari almari B. Kita bisa langsung mengambil buku

dengan cara membuka laci nomer 5 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 5.

Indeknya terdefinisi: Dalam mengakses indek data array harus terdefinisi dengan benar.

Jika indek yang diakses dalam array tidak terdefinisi maka akan terjadi

Artinya alamat array yang diakses dalam memori tidak ada. Bisa diibaratkan jika kita

ingin mengakses atau menyimpan data dalam sebuah laci tetapi lacinya tidak ada. Jika

kita ingin menyimpan buku di almari A atau B di laci nomer 9, tentu kita akan bingung

laci mana yang dimaksud.

Data tunggal : Dalam setiap menyimpan data dalam indek array, hanya bisa dengan data

tunggal atau satu data saja. Dalam contoh alamari diatas, kita hanya bisa menyimpan

satu buah buku misalnya kedalam masing-masing laci.

Default value array: Array yang di definisikan boleh memiliki indek yang di luar

kebutuhan dan secara defaultdefaultde terisi dengan nilai fault terisi dengan nilai fault default sesuai tipe data default sesuai tipe data default

kita hanya mengisi dua data dalam array, tetapi kita mendeklarasikan

dari 8 indek. Maka array yang terisi hanya indek 0 dan indek 1.

Deklarasi Array

Java adalah sebuah object, maka harus dideklarasikan menggunakan kata kunci object, maka harus dideklarasikan menggunakan kata kunci object

dimulai dari 0 sampai jumlah element – 1. Sintaks deklarasi array dimensi satu

type nama_arrray[] = new tipe[Nilai_dim];

int a[] = new int[10];

Page 6: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

6

Operator index ([ ]) : operator tempat mendeklarasikan index/larik array.

Nilai dimensi dalam operator [ ] : berapa larik data/laci yang bisa digunakan untuk

menyimpan.

2.4 Visualisasi Array

Dengan menggunakan contoh pada deklarasi array di atas (int a[] = new int[10];), dapat

digambarkan alokasi untuk variabel A. Elemen-elemen suatu Array diindeks (subscript) mulai dari 0

dan indek terakhir adalah 9.

Gambar 3 Contoh visualisasi Array

2.5 Cara Mengakses Array

Untuk mengakses array kita hanya perlu menggunakan sintaks berikut :

nama_larik[indeks_larik]

Misal untuk i=2; maka cara mengaksesnya :

A[2]

Bila elemen A[2] hendak ditampilkan di layar monitor, gunakan statemen sbb:

System.out.printf(“%d”,A[2]) atau

System.out.println(A[2]);

Untuk mengakses semua data dalam array bisa menggunakan perulangan. Berikut contoh code

untuk mengakses data dalam array menggunakan perulangan:

for (int i = 0; i < 10; i ++) {

System.out.println(A[i]);

}

2.6 Mengisi Data Array

Mengisi data ke elemen array dilakukan dengan menggunakan assignment operator.

Contoh : A[6] = 15; A[3] = 27;

Dalam contoh ini kita mengisi variable array A indek ke 6 dengan data 15, dan mengisi indek ke 3

dengan data 27. Visualisasi array ditunjukkan pada gambar 4 dimana pelabelan indek array dalam

java dimulai dari 0. Sehingga ketika array A dideklarasikan memiliki indek 10 maka label indek

tertinggi adalah 9 bukan 10 karena indek array dimulai dari indek ke 0.

digambarkan alokasi untuk variabel A Array indeks (subscript

dan indek terakhir adalah 9.

Gambar 3 Contoh visualisasi Array

Cara Mengakses Array

Untuk mengakses array kita hanya perlu menggunakan sintaks berikut :

nama_larik[indeks_larik]

Misal untuk i=2; maka cara mengaksesnya :

Bila elemen A[2] hendak ditampilkan di layar monitor, gunakan statemen sbb:

System.out.printf(“%d”,A[2]) atau

System.out.println(A[2]);

Untuk mengakses semua data dalam array bisa menggunakan perulangan. Berikut contoh code

untuk mengakses data dalam array menggunakan perulangan:

for (int i = 0; i < 10; i ++) {

System.out.println(A[i]);

Mengisi Data Array

Page 7: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

7

Gambar 4Contoh pengisian data array

Statement A[2] = A[3] - A[6], menghasilkan :

Gambar 5 Contoh hasil statement

Untuk mengisi data dalam array bisa menggunakan perulangan. Berikut contoh code untuk mengisi

data dalam array menggunakan perulangan:

for (int i = 0; i < 10; i ++) {

A[i] = i;

}

2.7 Inisialisasi Array

Array dapat diinisialisasi secara eksplisit pada saat didefinisikan dan bisa dilakukan tanpa

memberikan nilai dimensinya.

Contoh: int B[ ]={1, 2, -4, 8};

Pada contoh diatas Array B memiliki 4 elemen

Gambar 6 Contoh Array dengan tanpa nilai dimensi

Contoh: int B[]={1, 2, -4, 8,0,0,0,0};

Gambar 7 Contoh Array dengan 8 elemen

Statement A[2] = A[3] - A[6], menghasilkan :

Gambar 5 Contoh hasil statement

Untuk mengisi data dalam array bisa menggunakan perulangan. Berikut contoh

array menggunakan perulangan:

for (int i = 0; i < 10; i ++) {

[i] = i;

Inisialisasi Array

dapat diinisialisasi secara eksplisit pada saat didefinisikan dan bisa dilakukan tanpa

memberikan nilai dimensinya.

Contoh: int B[ ]={1, 2, -4, 8};

Pada contoh diatas Array B memiliki 4 elemen

Gambar 6 Contoh Array dengan tanpa nilai dimensi Array dengan tanpa nilai dimensi Array

int B[]={1, 2, -4, 8,0,0,0,0};

Page 8: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

8

Contoh: inisialisasi array setelah didefinisikan :

int A[] = new int[5];

(for i=0; i<5;i++) A[i]=0;

3 Jenis-jenis array

3.1 Array berdimensi satu

Bahasa Java tidak membatasi jumlah dimensi array yang bisa digunakan. Hal ini semata-mata diba-

tasi jumlah memori komputer yang tersedia.

Contoh Array dimensi 1:

public class Bab_12{

public static void main(String[] args) {

final int SIZE = 5;

int i, j;

int n[] = {15, 9, 1, 7, 5};

for( i=0 ; i< SIZE ; i++) {

System.out.printf("%5d ", n[i]);

for ( j=1; j<=n[i] ; j++) System.out.printf("%s","*");

System.out.printf("\n");

}

}

}

Dalam contoh program diatas, diinisialisasikan variabel array berdimensi satu dengan nama n dimana

masing-masing indeknya berisi data 15, 9, 1, 7, 5 untuk indek ke 0, 1, 2, 3, 4. Untuk menampilkan

data array digunakan perulangan untuk mengakses masing-masing indek array n ke i.

3.2 Array Dimensi Dua

Sintaks deklarasi array dimensi dua:

type nama_arrray[][] = new type[baris][kolom];

Dalam sintak array diatas, dimensi pertama menggambarkan baris dan dimensi ke dua

menggambarkan kolom. Dalam sintak diatas tujuan dari array berdimensi dua sama dengan array

berdimensi satu. Yaitu sama-sama mendifinisikan sebuah variabel yang didalamnya berisi beberapa

indek dimana setiap indek bisa mewakili fungsi satu varibel untuk menyimpan data. Yang

membedakan disini array berdimensi dua menggambarkan setiap lokasi diakses dengan

mendefinisikan baris ke berapa dan kolom ke berapa.

Contoh

int a[][] = new int[3][4];

Array berdimensi satu

Bahasa Java tidak membatasi jumlah dimensi array yang bisa digunakan. Hal ini semata-mata dib

tasi jumlah memori komputer yang tersedia.

dimensi 1:

public class Bab_12{

public static void main(String[] args) {

final int SIZE = 5;

int i, j;

int n[] = {15, 9, 1, 7, 5};

for( i=0 ; i< SIZE ; i++) {

System.out.printf("%5d ", n[i]);

for ( j=1; j<=n[i] ; j++) System.out.printf("%s","*");

System.out.printf("\n");

}

Dalam contoh program diatas, diinisialisasikan variabel array berdimensi satu dengan nama

masing-masing indeknya berisi data 15, 9, 1, 7, 5 untuk indek ke 0, 1, 2, 3, 4. Untuk menampilkan

data array digunakan perulangan untuk mengakses masing-masing indek array n

Array Dimensi Dua

Sintaks deklarasi array dimensi dua:

nama_arrray[][] = new type[baris][kolom]; [baris][kolom]; [baris][kolom]

Page 9: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

9

Dalam contoh diatas, didefinisikan sebuah variabel array a bertipe integer dimana dimensi kesatu

(baris) bernilai 3 dan dimensi kedua (kolom) bernilai 4. Secara visualisasi array diatas digambarkan

dalam tabel berikut:

Inisialisasi: menggunakan aturan rmo (row major order).

Contoh:

int b[][] = { { 1, 2 }, { 3, 4 } };

int b[][] = { { 1 }, { 3, 4 } };

int x[][] = { {1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}};

Program :

Dalam program diatas diinisialisasikan variabel array two_dim bertipe integer dengan data

1 2 3 4 5

10 20 30 40 50

100 200 300 400 500

Inisialisasi: menggunakan aturan rmo (row major order).

int b[][] = { { 1, 2 }, { 3, 4 } };

int b[][] = { { 1 }, { 3, 4 } };

int x[][] = { {1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}};

Page 10: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

10

Yang mana untuk menampilkan data array tersebut digunakan perulangan dalam perulangan (nested

loop) untuk menampilkan setiap data dalam array indek ke i (baris) dan indek ke j (kolom). Sebagai

contoh ketika nilai indek i =0 dan indek j=0 maka data yang ditampilkan dalam layar adalah 1.

3.3 Array Dimensi Tiga

Sintaks deklarasi array dimensi tiga :

type nama_arrray[][][] = new type[baris][kolom][depth];

Dalam sintak array diatas, dimensi pertama menggambarkan baris, dimensi ke dua menggambarkan

kolom, dan dimensi ketiga menggambarkan kedalaman. Dalam sintak diatas tujuan dari array

berdimensi tiga sama dengan array berdimensi satu dan dimensi dua. Yaitu sama-sama

mendifinisikan sebuah variabel yang didalamnya berisi beberapa indek dimana setiap indek bisa

mewakili fungsi satu varibel untuk menyimpan data. Yang membedakan disini array berdimensi tiga

menggambarkan setiap lokasi diakses dengan mendefinisikan baris ke berapa, kolom ke berapa, dan

pada kedalaman berapa.

Contoh:

int x[][][] = {{{1,2,3,4}, {5,6,7,8}},

{{11,12,13,14}, {15,16,17,18}},

{{21,22,23,24}, {25,26,27,28}}};

public class Array {

public static void main(String[] args) {

int x[][][] = {{{1, 2, 3}, {0, 4, 3, 4}, {1, 2}},

{{9, 7, 5}, {5, 7, 2}, {9}},

{{3, 3, 5}, {2, 8, 9, 9}, {1, 2, 1}},

{{0}, {1}, {0, 1, 9}}};

System.out.printf("%5d", x[2][1][3]);

}

}

Pada contoh program diatas:

Di inisialisasi variabel array x berdimensi 3 bertipe integer.

Untuk menampilkan seluruh isi dari array berdimensi 3 digunakan perulangan dalam

perulangan tingkat 3 ( triple nested loop ) untuk mengakses indek baris ke i, indek kolom ke j

dan indek kedalaman ke k.

Pada contoh diatas jika program menampilkan x[2][1][3] maka akan menampilkan data

baris ke 2, kolom ke 1, dan kedalaman ke 3 yaitu angka 9.

3.4 Array of character

Array yang masing-masing indeknya isinya adalah karakter.

Sintak:

Dalam sintak array diatas, dimensi pertama menggambarkan baris, dimensi ke dua menggambarkan

kolom, dan dimensi ketiga menggambarkan kedalaman. Dalam sintak diatas tujuan dari

berdimensi tiga sama dengan array berdimensi satu dan dimensi dua. Yaitu sama-sama

mendifinisikan sebuah variabel yang didalamnya berisi beberapa indek dimana setiap indek bisa

mewakili fungsi satu varibel untuk menyimpan data. Yang membedakan disini

menggambarkan setiap lokasi diakses dengan mendefinisikan baris ke berapa, kolom ke berapa, dan

pada kedalaman berapa.

int x[][][] = {{{1,2,3,4}, {5,6,7,8}},

{{11,12,13,14}, {15,16,17,18}},

{{21,22,23,24}, {25,26,27,28}}};

public class Array {

public static void main(String[] args) {

int x[][][] = {{{1, 2, 3}, {0, 4, 3, 4}, {1, 2}},

{{9, 7, 5}, {5, 7, 2}, {9}},

{{3, 3, 5}, {2, 8, 9, 9}, {1, 2, 1}},

{{0}, {1}, {0, 1, 9}}};

System.out.printf("%5d", x[2][1][3]);

Pada contoh program diatas:

Di inisialisasi variabel array x berdimensi 3 bertipe integer.

Untuk menampilkan seluruh isi dari array berdimensi 3 digunakan perulangan dalam

Page 11: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

11

char nama_array[] = new char[nilai_dim];

Dalam sintak array diatas, didefinisikan varibel array berdimensi satu bertipe karakter.

Contoh:

char nama = new int [40];

char ss[ ]= {„P‟,‟T‟,‟I‟,‟I‟,‟K‟,‟-‟,‟U‟, ‟B‟}; //8 elemen

3.5 String

String adalah Array of character yang diakhiri dengan null character ( ‘\0’ atau ASCII nya = 0). String

constant atau string literal adalah beberapa character yang diapit oleh tanda petik dua.

Contoh: ”Selamat datang”

Tipe dari string constant adalah pointer constant, sehingga bisa di-assigned ke array of character sbb:

Contoh :

char nama[40] = ”Amir”; //ok

nama = ”Amir”; //error krn nama adalah pointer konstan

nama[40]= “Amir”; //error

String constant dapat digabung saat dikompilasi :”Hello,” ” world” Sama artinya :”Hello, world”

Contoh inisialisasi string:

char s[ ] = ”FT-UB”;

Sama artinya dgn:

char s[ ] = {‟F‟,‟T‟,‟-‟,‟U‟,‟B‟,‟\0‟};

String bukan tipe data di Bahasa Java.

3.6 Karakter vs String

Karakter dalam bahasa Java diapit oleh single quote. Tiap karakter menempati satu byte memori.

Contoh:

char ch=‟A‟;

char ch=65; //Ascii desimal

char ch=0x41; //Ascii hexadesimal

String diapit oleh double quote.

Contoh:

String str =”A”;

Meskipun inisialisasi String terdiri dari satu karakter saja bukan berarti data itu sebuah char. Contoh

diatas adalah sebuah String yang terdiri dari 2 karakter, yaitu karakter ‘A’ dan karakter ‘\0’ atau Null.

Untuk lebih jelasnya digambarkan dalam gambar 12.6.

Array of character yang diakhiri dengan Array of character yang diakhiri dengan Array of character null character ( ‘\0’ atau ASCII nya = 0).

string literal adalah beberapa character yang diapit oleh tanda petik dua.

Contoh: ”Selamat datang”

Tipe dari string constant adalah pointer constant, sehingga bisa di-assigned ke array of character

char nama[40] = ”Amir”; //ok

nama = ”Amir”; //error krn nama adalah pointer konstan

nama[40]= “Amir”; //error

String constant dapat digabung saat dikompilasi :”Hello,” ” world” Sama artinya

Contoh inisialisasi string:

char s[ ] = ”FT-UB”;

Sama artinya dgn:

char s[ ] = {‟F‟,‟T‟,‟-‟,‟U‟,‟B‟,‟\0‟};

bukan tipe data di Bahasa Java.

Karakter vs String

Karakter dalam bahasa Java diapit oleh single quote. Tiap karakter menempati satu byte memori.

char ch=‟A‟;

char ch=65; //Ascii desimal

char ch=0x41; //Ascii hexadesimal

String diapit oleh double quote.

Page 12: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

12

Gambar 12.6 String diapit oleh double quote

3.7 Operasi dasar String

String dalam bahasa java merupakan sebuah class (java.lang.String) yang yang sering digunakan

untuk deklarasi tipe variable berupa objek. Tipe data ini sering sekali digunakan dalam program

terutama untuk memanipulasi data String. Kelas ini banyak memiliki method yang sangat berguna

dalam memanipulasi String. Beberapa method yang sering digunakan adalah:

Lenght()

Mehod ini digunakan untuk menghitung karakter atau panjang dari sebuah String.

Contoh: String kalimat = "Belajar Java";

System.out.println("Panjang kalimat: " + kalimat.length());

Hasil:

Panjang kalimat:12

toUpperCase()

Mehod ini digunakan untuk mengubah karakter dalam String menjadi huruf besar.

Contoh: String kalimat = "Belajar Java"; System.out.println("Uppercase kalimat: " + kalimat.toUpperCase());

Hasil:

Uppercase kalimat: BELAJAR JAVA

toLowerCase()

Mehod ini digunakan untuk mengubah karakter dalam String menjadi huruf kecil.

Contoh: String kalimat = "Belajar Java"; System.out.println("Lowercase kalimat: " + kalimat.toLowerCase());

Hasil:

Lowercase kalimat: belajar java

replace()

Mehod ini digunakan untuk mengganti sebagian dari isi suatu string. Method ini akan

mengganti semua kata yang sama dengan penggantinya.

Contoh: String kalimat = "Belajar Java"; System.out.println("Ubah 'Java' menjadi 'bahasa Java': " +

kalimat.replace("Java ", "bahasa Java"));

Hasil:

Ubah 'Java' menjadi 'bahasa Java': Belajar bahasa Java

Jika kita ingin mengganti satu kata saja, maka bisa kita gunakan method replaceFirst().

dalam bahasa java merupakan sebuah class (java.lang.String) yang yang sering digunakan

untuk deklarasi tipe variable berupa objek. Tipe data ini sering sekali digunakan dalam program

terutama untuk memanipulasi data String. Kelas ini banyak memiliki method yang sangat berguna method yang sangat berguna method

dalam memanipulasi String. Beberapa method yang sering digunakan adalah: thod yang sering digunakan adalah: thod

Lenght()

Mehod ini digunakan untuk menghitung karakter atau panjang dari sebuah String.

Contoh: String kalimat = "Belajar Java";

System.out.println("Panjang kalimat: " + kalimat.length());

Hasil:

Panjang kalimat:12

UpperCase()

Mehod ini digunakan untuk mengubah karakter dalam String menjadi huruf besar.

Contoh: String kalimat = "Belajar Java";

System.out.println("Uppercase kalimat: " + kalimat.toUpperCase());

Hasil:

Uppercase kalimat: BELAJAR JAVA

owerCase()

Mehod ini digunakan untuk mengubah karakter dalam String menjadi huruf kecil.

Contoh: String kalimat = "Belajar Java";

System.out.println("Lowercase kalimat: " + kalimat.toLowerCase());

Hasil:

Lowercase kalimat: belajar java

replace()

Mehod ini digunakan untuk mengganti sebagian dari isi suatu string. Method ini akan

Page 13: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

13

equals()

Mehod ini digunakan untuk membandingkan variabel String dengan string lainnya. Jika isi

dari String itu sama maka akan memberikan nilai True dan jika tidak sama akan memberikan

nilai False.

Contoh: String kata1 = new String("Belajar Java ");

String kata2 = new String("Belajar Java ");

if(kata1.equals(kata2)){

System.out.println("isi kata sama");

}

else {

System.out.println("isi kata tidak sama");

}

Hasil:

isi kata sama

Jika kita ingin membandingkan dua buah String tanpa memperhatikan besar dan kecil

hurufnya bisa menggunakan method equalsIgnoreCase().

indexOf()

Mehod ini digunakan untuk mencari indek dari suatu kata/kalimat. Berapa di karakter

keberapa String yang dicari.

Contoh:

String kalimat = "Belajar Java";

System.out.println("Posisi 'Java' dalam kalimat: " +

kalimat.indexOf("Java"));

Hasil:

Posisi 'Java' dalam kalimat: 8

Kalau kita hitung secara manual seharusya kata “Java” berada pada posisi ke 9. Kenapa

hasilnya berada di posisi yang ke 8 karena String dalam java menganut sistem zero based

index yang artinya perhitungan indeknya dimulai dari 0 bukan dari 1.

contains()

Mehod ini digunakan untuk mengetahui apakah ada kata tertentu dalam kalimat. Method ini

akan mengembalikan nilai True jika terdapat kata yang dimaksud dan mengembalikan nilai

False jika tidak ada kata yang dimaksud dalam kalimat.

Contoh:

String kalimat = "Belajar Java";

System.out.println("Terdapat 'Java' dalam kalimat: " +

kalimat.contains("Java"));

Hasil:

Terdapat 'Java' dalam kalimat:True

split()

Mehod ini digunakan untuk memecah kalimat berdasarkan separator/pemisah.

Contoh:

System.out.println("isi kata sama");

else {

System.out.println("isi kata tidak sama");

Hasil:

isi kata sama

Jika kita ingin membandingkan dua buah String tanpa memperhatikan besar dan kecil

hurufnya bisa menggunakan method equalsIgnoreCase().

indexOf()

Mehod ini digunakan untuk mencari indek dari suatu kata/kalimat. Berapa di karakter

keberapa String yang dicari.

Contoh:

String kalimat = "Belajar Java";

System.out.println("Posisi 'Java' dalam kalimat: " +

kalimat.indexOf("Java"));

Hasil:

Posisi 'Java' dalam kalimat: 8

Kalau kita hitung secara manual seharusya kata “Java” berada pada posisi ke 9. Kenapa

hasilnya berada di posisi yang ke 8 karena String dalam java menganut sistem zero based

index yang artinya perhitungan indeknya dimulai dari 0 bukan dari 1.

contains()

Mehod ini digunakan untuk mengetahui apakah ada kata tertentu dalam kalimat. Method ini

akan mengembalikan nilai True jika terdapat kata yang dimaksud dan mengembalikan nilai

jika tidak ada kata yang dimaksud dalam kalimat.

Contoh:

Page 14: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

14

String kalimat = "Belajar bahasa Java";

String[] pecah = kalimatPakaiSeparator.split(" "); // split spasi

System.out.println("Hasil pecahan: ");

for(int counter = 0; counter < pecah.length; counter++){

System.out.println(" " + pecah[counter]);

}

Hasil:

Belajar

Bahasa

Java

4 Implementasi penggunaan Array

4.1 Array berdimensi satu

Program berikut adalah program untuk mencari nilai rata-rata sekelompok bilangan, dimana

bilangan yang akan dirata-rata dimasukkan terlebih dahulu ke dalam array.

01 import java.util.Scanner;

02 public class Prak_501 {

03 public static void main (String[] args) {

04 Scanner masukan = new Scanner(System.in);

05 int jumbil, total=0;

06 float rata2;

07 System.out.print(“Berapa banyaknya bilangan ? ”);

08 jumbil = masukan.nextInt();

09 int data[] = new int[jumbil];

10 for(int i=0;i<jumbil;i++){

11 System.out.print(“Masukkan data ke-”+(i+1)+” : “);

12 data[i] = masukan.nextInt();

13 total = total + data[i];

14 }

15 System.out.print(“Nilai rata-rata dari : ”);

16 for(int i=0;i<(jumbil-1);i++)

17 System.out.print(data[i] + “ + ”);

18 System.out.print(data[jumbil-1] + “ adalah ”);

19 rata2 = total/jumbil;

20 System.out.println(rata2);

21 }

22 }

Keterangan Program diatas:

Baris ke empat sampai baris ke 6 adalah deklarasi variabel yang diperlukan.

Java

Implementasi penggunaan Array

Array berdimensi satu

Program berikut adalah program untuk mencari nilai rata-rata sekelompok bilangan, dimana

bilangan yang akan dirata-rata dimasukkan terlebih dahulu ke dalam array.

import java.util.Scanner;

public class Prak_501 {

public static void main (String[] args) {

Scanner masukan = new Scanner(System.in);

int jumbil, total=0;

float rata2;

System.out.print(“Berapa banyaknya bilangan ? ”);

jumbil = masukan.nextInt();

int data[] = new int[jumbil];

for(int i=0;i<jumbil;i++){

System.out.print(“Masukkan data ke-”+(i+1)+” : “);

data[i] = masukan.nextInt();

total = total + data[i];

}

System.out.print(“Nilai rata-rata dari : ”);

for(int i=0;i<(jumbil-1);i++)

System.out.print(data[i] + “ + ”);

System.out.print(data[jumbil 1] + “ adalah ”);

Page 15: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

15

Baris ke delapan adalah deklarasi variabel array dengan indek sejumlah yang dimasukkan

oleh user yang disimpan dalam variabel jumbil.

Baris ke sepuluh sampai baris ke 14 adalah perulangan untuk memasukkan data yang

disimpan dalam masing-masing indek array data.

Baris ke 12 adalah mengisi data masukan ke data array indek –i.

Baris ke 13 adalah menjumlahkan masing-masing data array indek ke –i yang disimpan

dalam variabel total.

Baris ke 16 dan ke 17 adalah perulangan untuk menampilkan data dari masing-masing

indek.

Baris ke 19 adalah menghitung rata-rata.

Baris ke 20 adalah menampilkan hasil rata-rata.

4.2 Array berdimensi dua

Program berikut adalah program untuk menjumlahkan dua buah matriks. Untuk membuat suatu

matriks, maka digunakan array 2 dimensi.

01 import java.util.Scanner;

02 public class Prak_502 {

03 public static void main (String[] args) {

04 int baris, kolom;

05 Scanner masukan = new Scanner(System.in);

06 System.out.println("Program Penjumlahan 2 buah matriks");

07 System.out.print("Masukkan jumlah baris Matriks : ");

08 baris = masukan.nextInt();

09 System.out.print("Masukkan jumlah kolom Matriks : ");

10 kolom = masukan.nextInt();

11 System.out.println();

12 System.out.println("Masukkan data : ");

13 System.out.println("Matriks 1 : ");

14 int matriks1[][] = new int[baris][kolom];

15 for(int i=0;i<baris;i++){

16 for(int j=0;j<kolom;j++){

17 System.out.print("Bil baris ke-"+i+" kolom ke-"+j+" : ");

18 matriks1[i][j] = masukan.nextInt();

19 }

20 }

21 System.out.println();

22 System.out.println("Matriks 2 : ");

23 int matriks2[][] = new int[baris][kolom];

24 for(int i=0;i<baris;i++){

25 for(int j=0;j<kolom;j++){

26 System.out.print("Bil baris ke-"+i+" kolom ke-"+j+" : ");

Baris ke 16 dan ke 17 adalah perulangan untuk menampilkan data dari masing-masing

indek.

Baris ke 19 adalah menghitung rata-rata.

Baris ke 20 adalah menampilkan hasil rata-rata.

Array berdimensi dua

Program berikut adalah program untuk menjumlahkan dua buah matriks. Untuk membuat suatu

matriks, maka digunakan array 2 dimensi.

import java.util.Scanner;

public class Prak_502 {

public static void main (String[] args) {

int baris, kolom;

Scanner masukan = new Scanner(System.in);

System.out.println("Program Penjumlahan 2 buah matriks");

System.out.print("Masukkan jumlah baris Matriks : ");

baris = masukan.nextInt();

System.out.print("Masukkan jumlah kolom Matriks : ");

kolom = masukan.nextInt();

System.out.println();

System.out.println("Masukkan data : ");

System.out.println("Matriks 1 : ");

int matriks1[][] = new int[baris][kolom];

for(int i=0;i<baris;i++){

for(int j=0;j<kolom;j++){

System.out.print("Bil baris ke-"+i+" kolom ke

matriks1[i][j] = masukan.nextInt();

Page 16: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

16

27 matriks2[i][j] = masukan.nextInt();

28 }

29 }

30 System.out.println("Data sebelum dijumlahkan : ");

31 System.out.println("Matriks 1 : ");

32 for(int i=0;i<baris;i++){

33 for(int j=0;j<kolom;j++)

34 System.out.print(matriks1[i][j] + " ");

35 System.out.println();

36 }

37 System.out.println();

38 System.out.println("Matriks 2 : ");

39 for(int i=0;i<baris;i++){

40 for(int j=0;j<kolom;j++)

41 System.out.print(matriks2[i][j] + " ");

42 System.out.println();

43 }

44 System.out.println();

45 int hasil[][] = new int[baris][kolom];

46 for(int i=0;i<baris;i++){

47 for(int j=0;j<kolom;j++)

48 hasil[i][j] = matriks1[i][j]+matriks2[i][j];

49 }

50 System.out.println("Hasil penjumlahan Matriks tersebut : ");

51 for(int i=0;i<baris;i++){

52 for(int j=0;j<kolom;j++)

53 System.out.print(hasil[i][j] + " ");

54 System.out.println();

55 }

56 System.out.println();

57 }

58 }

Keterangan Program diatas:

Baris ke 4 adalah deklarasi variabel baris dan kolom.

Baris ke 6 sampai ke 10 adalah proses output dan input data dari user untuk

memasukkan nilai baris dan kolom.

Baris ke 14 adalah deklarasi variabel array 2 dimensi untuk matrik ke 1 dengan dimensi

pertama seukuran baris dan dimensi ke dua seukuran kolom.

System.out.print(matriks1[i][j] + " ");

System.out.println();

}

System.out.println();

System.out.println("Matriks 2 : ");

for(int i=0;i<baris;i++){

for(int j=0;j<kolom;j++)

System.out.print(matriks2[i][j] + " ");

System.out.println();

}

System.out.println();

int hasil[][] = new int[baris][kolom];

for(int i=0;i<baris;i++){

for(int j=0;j<kolom;j++)

hasil[i][j] = matriks1[i][j]+matriks2[i][j];

}

System.out.println("Hasil penjumlahan Matriks tersebut : ");

for(int i=0;i<baris;i++){

for(int j=0;j<kolom;j++)

System.out.print(hasil[i][j] + " ");

System.out.println();

}

System.out.println();

}

Page 17: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

17

Baris ke 15 sampai baris ke 20 adalah proses perulangan dalam perulangan (nested loop)

untuk memasukkan data dalam array baris ke i kolom ke j. For pertama (baris ke 15)

mewakili baris ke i dan For kedua (baris 16) mewakili kolom ke j.

Baris ke 23 adalah deklarasi variabel array 2 dimensi untuk matrik ke 2 dengan dimensi

pertama seukuran baris dan dimensi ke dua seukuran kolom.

Baris ke 24 sampai baris ke 29 adalah proses perulangan dalam perulangan (nested loop)

untuk memasukkan data dalam array baris ke i kolom ke j. For pertama (baris ke 24)

mewakili baris ke i dan For kedua (baris 25) mewakili kolom ke j.

Baris ke 32 sampai baris ke 36 adalah proses perulangan dalam perulangan (nested loop)

untuk menampilkan data Matrik ke 1 dalam array baris ke i kolom ke j. For pertama

(baris ke 32) mewakili baris ke i dan For kedua (baris 33) mewakili kolom ke j.

Baris ke 39 sampai baris ke 43 adalah proses perulangan dalam perulangan (nested loop)

untuk menampilkan data Matrik ke 2 dalam array baris ke i kolom ke j. For pertama

(baris ke 39) mewakili baris ke i dan For kedua (baris 43) mewakili kolom ke j.

Baris ke 45 adalah deklarasi variabel array 2 dimensi untuk matrik ke 3 (matrik hasil

penjumlahan matrik 1 dan matrik 2) dengan dimensi pertama seukuran baris dan

dimensi ke dua seukuran kolom.

Baris ke 46 sampai baris ke 49 adalah proses perulangan dalam perulangan (nested loop)

untuk mengisi data Matrik hasil dalam array baris ke i kolom ke j. For pertama (baris ke

46) mewakili baris ke i dan For kedua (baris 47) mewakili kolom ke j.

Baris ke 48 adalah proses perhitungan penjumlahan matrik 1 baris ke i kolom ke j

dengan matrik 2 baris ke i kolom ke j yang hasilnya disimpan dalam matrik hasil baris ke

i kolom ke j.

Baris ke 51 sampai baris ke 55 adalah proses perulangan dalam perulangan (nested loop)

untuk menampilkan data Matrik hasil dalam array baris ke i kolom ke j. For pertama

(baris ke 51) mewakili baris ke i dan For kedua (baris 52) mewakili kolom ke j.

mewakili baris ke i dan i dan i For kedua (baris 25) mewakili kolom ke For kedua (baris 25) mewakili kolom ke For j.

Baris ke 32 sampai baris ke 36 adalah proses perulangan dalam perulangan (

untuk menampilkan data Matrik ke 1 dalam array baris ke i kolom ke i kolom ke i

(baris ke 32) mewakili baris ke i dan i dan i For kedua (baris 33) mewakili kolom ke For kedua (baris 33) mewakili kolom ke For

Baris ke 39 sampai baris ke 43 adalah proses perulangan dalam perulangan (

untuk menampilkan data Matrik ke 2 dalam array baris ke i kolom ke i kolom ke i

(baris ke 39) mewakili baris ke i dan i dan i For kedua (baris 43) mewakili kolom ke For kedua (baris 43) mewakili kolom ke For

Baris ke 45 adalah deklarasi variabel array 2 dimensi untuk matrik ke 3 (matrik hasil

penjumlahan matrik 1 dan matrik 2) dengan dimensi pertama seukuran baris dan

dimensi ke dua seukuran kolom.

Baris ke 46 sampai baris ke 49 adalah proses perulangan dalam perulangan (

untuk mengisi data Matrik hasil dalam array baris ke i kolom ke i kolom ke i j.

46) mewakili baris ke i dan i dan i For kedua (baris 47) mewakili kolom ke For kedua (baris 47) mewakili kolom ke For j

Baris ke 48 adalah proses perhitungan penjumlahan matrik 1 baris ke i kolom ke j

dengan matrik 2 baris ke i kolom ke j yang hasilnya disimpan dalam matrik hasil baris ke

i kolom ke j.

Baris ke 51 sampai baris ke 55 adalah proses perulangan dalam perulangan (

untuk menampilkan data Matrik hasil dalam array baris ke i kolom ke i kolom ke i

(baris ke 51) mewakili baris ke i dan i dan i For kedua (baris 52) mewakili kolom ke For kedua (baris 52) mewakili kolom ke For

Page 18: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

18

CONTOH SOAL 1. Jelaskan pengertian dari array!

Jawab:

Larik (array) adalah variabel kompleks yang setiap elemennya mempunyai tipe data yang sama. Tipe data dari elemen larik dapat berupa tipe data sederhana maupun tipe data kompleks. Setiap elemen larik mempunyai nomor indeks yang unik dan disimpan secara berurutan di dalam memori.

2. Apa yang dimaksud dengan array berdimensi satu, dua, dan multidimensi array!

Jawab:

Array dimensi satu

Array adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan

sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1

indeks.

Array dimensi dua

Array adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan

sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 2

indeks.

Array multidimensi

Array adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan

sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui

banyak indeks.

LATIHAN SOAL 1. Jelaskan kenapa perlu data dalam bentuk array!

2. Sebutkan sifat-sifat dari array!

3. Bagaimana cara mendeklarasikan array berdimensi satu, dan beri keterangan?

4. Jelaskan bagaimana cara mengakses dan mengisi array!

5. Berikan contoh inisialisasi array yang diisi datanya saat pendeklarasian array!

berurutan di dalam memori.

Apa yang dimaksud dengan array berdimensi satu, dua, dan multidimensi

Array dimensi satu

adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan

sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1

Array dimensi dua

adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan

sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 2

Array multidimensi

adalah merupakan sebuah deklarasi variabel yang digunakan untuk menyimpan

sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui

banyak indeks.

LATIHAN SOAL Jelaskan kenapa perlu data dalam bentuk array!

Sebutkan sifat-sifat dari array!

Bagaimana cara mendeklarasikan array berdimensi satu, dan beri keterangan?

Jelaskan bagaimana cara mengakses dan mengisi array!

Berikan contoh inisialisasi array yang diisi datanya saat pendeklarasian array

Page 19: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

19

RANGKUMAN Konsep array muncul, dimana hanya butuh nama satu variabel sudah bisa digunakan untuk mewakili

akses data tak terbatas ke memori komputer yang di berikan dalam bentuk indek. Data disimpan

dalam suatu struktur, sedemikian rupa sehingga elemen-elemen di dalam struktur tersebut dapat

diolah secara kelompok ataupun secara individu. Array memiliki beberapa sifat, diantaranya:

homogen, random access, indeknya harus terdefinisi dan data tunggal/satu data yang bisa

dimasukkan dalam masing-masing indek array. Seluruh elemen di dalam struktur array mempunyai

tipe data yang sama. Setiap elemen di dalam struktur array dapat dicapai secara individual, langsung

ke lokasi elemen yang diinginkan, tidak harus melalui elemen pertama. Dalam mengakses indek data

array harus terdefinisi dengan benar. Jika indek yang diakses dalam array tidak terdefinisi maka akan

terjadi NULL pointer. Dalam setiap menyimpan data dalam indek array, hanya bisa dengan data

tunggal atau satu data saja. Bahasa Java tidak membatasi jumlah dimensi array yang bisa digunakan.

Hal ini semata-mata dibatasi jumlah memori komputer yang tersedia.

TES FORMATIF 1. Jelaskan kelebihan jika kita menggunakan array untuk deklarasi varibel yang dibutuhkan

dibanding dengan deklarasi variabel untuk setiap data yang ingin kita simpan!

2. Buatlah program untuk menyimpan beberapa data kemudian urutkan data tersebut mulai

dari data yang terkecil!

3. Kembangkan program nomer 2 diatas untuk menghitung nilai mean, nilai minimum dan

maksimum dari data dalam array!

4. Kembangkan contoh array berdimensi 2 dalam sub pokok bahasan ini untuk menghitung

perkalian 2 buah matrik.

5. Jelaskan array of character yang menunjukkan perbedaan antara tipe data karakter dan

String dalam Java!

DAFTAR PUSTAKA [1] P.J. Deitel, H.M. Deitel , “Java : how to program 9th” Prentice Hall,ISBN 978-0-13-257566-9,2012. [2] Mary Campione, Kathy Walrath, Alison Huml. “Java™ Tutorial, Third Edition: A Short Course on

the Basics”. Addison Wesley. 2000. [3] Arnold, K., Gosling, J., and Holmes, J. “The Java™ Programming Language, 4th Edition”. Addison

Wesley Professional. 2005. [4] Java tutorial: http://download.oracle.com/javase/tutorial/

dimasukkan dalam masing-masing indek array. Seluruh elemen di dalam struktur

tipe data yang sama. Setiap elemen di dalam struktur array dapat dicapai secara individual, langsung

ke lokasi elemen yang diinginkan, tidak harus melalui elemen pertama. Dalam mengakses indek data

harus terdefinisi dengan benar. Jika indek yang diakses dalam array tidak terdefinisi maka akan

NULL pointer. Dalam setiap menyimpan data dalam indek array, hanya bisa dengan data

tunggal atau satu data saja. Bahasa Java tidak membatasi jumlah dimensi array

Hal ini semata-mata dibatasi jumlah memori komputer yang tersedia.

TES FORMATIF Jelaskan kelebihan jika kita menggunakan array untuk deklarasi varibel yang dibutuhkan

dibanding dengan deklarasi variabel untuk setiap data yang ingin kita simpan!

Buatlah program untuk menyimpan beberapa data kemudian urutkan data tersebut mulai

dari data yang terkecil!

Kembangkan program nomer 2 diatas untuk menghitung nilai mean

maksimum dari data dalam array!

Kembangkan contoh array berdimensi 2 dalam sub pokok bahasan ini untuk menghitung

perkalian 2 buah matrik.

Jelaskan array of character yang menunjukkan perbedaan antara tipe data karakter dan array of character yang menunjukkan perbedaan antara tipe data karakter dan array of character

String dalam Java!

DAFTAR PUSTAKA [1] P.J. Deitel, H.M. Deitel , “Java : how to program 9th” Prentice Hall,ISBN 978-0-

Mary Campione, Kathy Walrath, Alison Huml. “Java™ Tutorial, Third Edition: A Short Course on . Addison Wesley

Page 20: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

20

KUNCI JAWABAN LATIHAN SOAL

1. Konsep array muncul, dimana hanya butuh nama satu variabel sudah bisa digunakan untuk

mewakili akses data tak terbatas ke memori komputer yang di berikan dalam bentuk indek.

Data disimpan dalam suatu struktur, sedemikian rupa sehingga elemen-elemen di dalam

struktur tersebut dapat diolah secara kelompok ataupun secara individu.

2. Array memiliki beberapa sifat, diantaranya:

Homogen : Seluruh elemen di dalam struktur array mempunyai tipe data yang sama.

Ketika kita mendefinisikan data array dengan tipe data integer maka setiap elemen yang

ada dalam array semuanya bertipe integer. Dalam contoh almari diatas setiap laci

memiliki bentuk dan ukuran yang sama yang artinya disini laci dalam almari memiliki sifat

homoge.

Random Access : Setiap elemen di dalam struktur array dapat dicapai secara individual,

langsung ke lokasi elemen yang diinginkan, tidak harus melalui elemen pertama. Dalam

contoh almari diatas, misalkan kita ingin menyimpan buku di almari B laci nomer 4, yang

kita lakukan adalah membuka laci nomer 4 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 4. Begitu juga jika kita ingin

mengambil buku di laci nomer 5 dari almari B. Kita bisa langsung mengambil buku

dengan cara membuka laci nomer 5 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 5.

Indeknya terdefinisi: Dalam mengakses indek data array harus terdefinisi dengan benar.

Jika indek yang diakses dalam array tidak terdefinisi maka akan terjadi NULL pointer.

Artinya alamat array yang diakses dalam memori tidak ada. Bisa diibaratkan jika kita

ingin mengakses atau menyimpan data dalam sebuah laci tetapi lacinya tidak ada. Jika

kita ingin menyimpan buku di almari A atau B di laci nomer 9, tentu kita akan bingung

laci mana yang dimaksud.

Data tunggal : Dalam setiap menyimpan data dalam indek array, hanya bisa dengan data

tunggal atau satu data saja. Dalam contoh alamari diatas, kita hanya bisa menyimpan

satu buah buku misalnya kedalam masing-masing laci.

3. Deklarasi array berdimensi satu:

type nama_arrray[] = new tipe[Nilai_dim];

Definisi dari sebuah array terdiri dari 4 komponen yaitu :

Type specifier : tipe data array sama seperti tipe data variabel: integer, float, double,

char, String, boolean, dll.

Identifier (nama array) : nama dari array.

Operator index ([ ]) : operator tempat mendeklarasikan index/larik array.

struktur tersebut dapat diolah secara kelompok ataupun secara individu.

memiliki beberapa sifat, diantaranya:

Homogen : Seluruh elemen di dalam struktur array mempunyai tipe data yang sama.

Ketika kita mendefinisikan data array dengan tipe data integer maka setiap elemen yang integer maka setiap elemen yang integer

ada dalam array semuanya bertipe integer. Dalam contoh almari diatas setiap laci

memiliki bentuk dan ukuran yang sama yang artinya disini laci dalam almari memiliki sifat

homoge.

Random Access : Setiap elemen di dalam struktur array dapat dicapai secara individual,

langsung ke lokasi elemen yang diinginkan, tidak harus melalui elemen pertama. Dalam

contoh almari diatas, misalkan kita ingin menyimpan buku di almari B laci nomer 4, yang

kita lakukan adalah membuka laci nomer 4 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 4. Begitu juga jika kita ingin

mengambil buku di laci nomer 5 dari almari B. Kita bisa langsung mengambil buku

dengan cara membuka laci nomer 5 dari almari B secara langsung tanpa harus

menghitung laci mulai dari nomer 1 hingga ketemu nomer 5.

Indeknya terdefinisi: Dalam mengakses indek data array harus terdefinisi dengan benar.

Jika indek yang diakses dalam array tidak terdefinisi maka akan terjadi

Artinya alamat array yang diakses dalam memori tidak ada. Bisa diibaratkan jika kita

ingin mengakses atau menyimpan data dalam sebuah laci tetapi lacinya tidak ada. Jika

kita ingin menyimpan buku di almari A atau B di laci nomer 9, tentu kita akan bingung

laci mana yang dimaksud.

Data tunggal : Dalam setiap menyimpan data dalam indek array, hanya bisa dengan data

tunggal atau satu data saja. Dalam contoh alamari diatas, kita hanya bisa menyimpan

satu buah buku misalnya kedalam masing-masing laci.

Deklarasi array berdimensi satu:

Page 21: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

21

Nilai dimensi dalam operator [ ] : berapa larik data/laci yang bisa digunakan untuk

menyimpan.

4. Untuk mengakses array kita hanya perlu menggunakan sintaks berikut :

nama_larik[indeks_larik]

Mengisi data ke elemen array dilakukan dengan menggunakan assignment operator.

Contoh : A[6] = 15; A[3] = 27;

Bila elemen A[2] hendak ditampilkan di layar monitor, gunakan statemen sbb:

System.out.printf(“%d”,A[2]) atau

System.out.println(A[2]);

5. Array dapat diinisialisasi secara eksplisit pada saat didefinisikan dan bisa dilakukan tanpa

memberikan nilai dimensinya.

Contoh: int B[ ]={1, 2, -4, 8};

Contoh : A[6] = 15; A[3] = 27;

Bila elemen A[2] hendak ditampilkan di layar monitor, gunakan statemen

System.out.printf(“%d”,A[2]) atau

System.out.println(A[2]);

dapat diinisialisasi secara eksplisit pada saat didefinisikan dan bisa dilakukan tanpa

memberikan nilai dimensinya.

Contoh: int B[ ]={1, 2, -4, 8};

Page 22: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

22

Pemrograman Modular

TUJUAN INSTRUKSIONAL KHUSUS Setelah menyelesaikan bab ini diharapkan :

a. Mahasiswa mampu menjelaskan konsep pemrograman modular.

b. Mahasiswa mampu menjelaskan konsep kelas dan objek.

c. Mahasiswa mampu menjelaskan komponen dalam kelas.

d. Mahasiswa mampu merancang dan membuat method dalam kelas java.

1 Pendahuluan

1.1 Pengantar

Kebanyakan program yang telah dibuat ternyata tersusun dengan kurang baik, sehingga melakukan

perubahan pada program-program tersebut merupakan pekerjaan yang sulit dan menghabiskan

waktu. Kadangkala, program-program tersebut perlu ditulis ulang secara keseluruhan. Dalam

Pemrograman OOP (Object Oriented Programming), dikenal metode untuk "memecah" kode

program yang panjang menjadi modul-modul yang saling terkait antara yang satu dengan yang lain

menjadi method. Setiap kali diperlukan, program utama dapat "memanggil" masing-masing modul

kecil tersebut untuk mengerjakan perintah/perhitungan tertentu. Setelah pekerjaan/perhitungan di

dalam modul tersebut selesai dilakukan, kontrol program dialihkan ke instruksi berikutnya di dalam

program utama. Dalam bahasa pemrograman, modul-modul tersebut juga disebut sebagai subrutin,

subprogram, prosedur, atau fungsi.

Dalam konsep pemrograman berorientasi objek, kita harus memahami kontrusi utama dalam

pemrograman yang berorientasi pada objek. Sistem yang terbentuk dengan metode pengembangan

berorientasi object, mewujudkan sebuah sistem terdiri dari banyak object yang salin berkaitan.

Desain berorientasi objek adalah sebuah teknik yang memfokuskan desain pada object dan class

berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour dan interaksi

dari object. Selain itu juga menyediakan manfaat akan kebebasan pengembangan, meningkatkan

kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam modifikasi dan

meningkatkan penggunaan kembali software.

TUJUAN INSTRUKSIONAL KHUSUS Setelah menyelesaikan bab ini diharapkan :

Mahasiswa mampu menjelaskan konsep pemrograman modular.

Mahasiswa mampu menjelaskan konsep kelas dan objek.

Mahasiswa mampu menjelaskan komponen dalam kelas.

Mahasiswa mampu merancang dan membuat method dalam kelas java. method dalam kelas java. method

Pendahuluan

Pengantar

Kebanyakan program yang telah dibuat ternyata tersusun dengan kurang baik, sehingga melakukan

perubahan pada program-program tersebut merupakan pekerjaan yang sulit dan menghabiskan

waktu. Kadangkala, program-program tersebut perlu ditulis ulang secara keseluruhan. Dalam

OOP (Object Oriented Programming), dikenal metode untuk "memecah" kode

program yang panjang menjadi modul-modul yang saling terkait antara yang satu dengan yang lain

method. Setiap kali diperlukan, program utama dapat "memanggil" masing-masing modul

kecil tersebut untuk mengerjakan perintah/perhitungan tertentu. Setelah pekerjaan/perhitungan di

dalam modul tersebut selesai dilakukan, kontrol program dialihkan ke instruksi berikutnya di dalam

program utama. Dalam bahasa pemrograman, modul-modul tersebut juga disebut sebagai subrutin,

subprogram, prosedur, atau fungsi.

Dalam konsep pemrograman berorientasi objek, kita harus memahami kontrusi utama dalam

pemrograman yang berorientasi pada objek. Sistem yang terbentuk dengan metode pengembangan

Page 23: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

23

1.2 Tujuan

Tujuan pembelajaran pada modul ini adalah :

Mahasiswa mampu menjelaskan tentang konsep pemrograman modular.

Mahasiswa mampu mengenal konsep pemrograman berbasis objek.

Mahasiswa mampu menjelaskan kelas beserta komponennya (atribut dan method).

1.3 Definisi

Pemrograman modular

Proses "memecah" kode program yang panjang menjadi modul-modul yang saling terkait antara yang

satu dengan yang lain. Setiap kali diperlukan, program utama dapat "memanggil" masing-masing

modul kecil tersebut untuk mengerjakan perintah/perhitungan tertentu.

Desain Berorientasi Object

Desain berorientasi objek adalah sebuah teknik yang memfokuskan desain pada object dan class

berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour dan interaksi

dari object. Selain itu juga menyediakan manfaat akan kebebasan pengembangan, meningkatkan

kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam modifikasi dan

meningkatkan penggunaan kembali software.

Class Class mengizinkan Anda dalam mendeklarasikan tipe data baru. Ia dijalankan sebagai blueprint,

dimana model dari object yang Anda buat berdasarkan pada tipe data baru ini.

Object Sebuah object adalah sebuah entiti yang memiliki keadaan, behaviour dan identitas yang yang

tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Inilah instance sebenarnya dari

sebuah class. Ini juga dikenal sebagai instance. Instance dibuat sewaktu Anda meng-instantiate class

menggunakan kata kunci new. Dalam sistem registrasi siswa, contoh dari sebuah object yaitu entiti

Student.

Attribute Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang

object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field data. Kembali

lagi ke contoh sistem registrasi siswa, atribut dari sebuah siswa adalah nomor siswa.

Lingkup atribut/identifier Lingkup identifier meliputi bagian-bagian program dimana sebuah identifier masih bisa diakses.

Lingkup identifier meliputi Local Identifier dan Global Identifier

Method Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal sebagai fungsi atau

prosedur. Sebagai contoh, method yang mungkin tersedia untuk entiti siswa adalah method register.

Rekursif Method yang memanggil dirinya sendiri.

Definisi

Pemrograman modular

Proses "memecah" kode program yang panjang menjadi modul-modul yang saling terkait antara yang

satu dengan yang lain. Setiap kali diperlukan, program utama dapat "memanggil" masing-masing

modul kecil tersebut untuk mengerjakan perintah/perhitungan tertentu.

Desain Berorientasi Object

Desain berorientasi objek adalah sebuah teknik yang memfokuskan desain pada

berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour

. Selain itu juga menyediakan manfaat akan kebebasan pengembangan, meningkatkan

kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam modifikasi dan

meningkatkan penggunaan kembali software.

Class mengizinkan Anda dalam mendeklarasikan tipe data baru. Ia dijalankan sebagai

dimana model dari object yang Anda buat berdasarkan pada tipe data baru ini. object yang Anda buat berdasarkan pada tipe data baru ini. object

adalah sebuah entiti yang memiliki keadaan, behaviour dan identitas yang yang

tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Inilah instance

. Ini juga dikenal sebagai instance. Instance dibuat sewaktu Anda meng-

menggunakan kata kunci new. Dalam sistem registrasi siswa, contoh dari sebuah

Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang

. Dikenal juga sebagai member data, variabel instance, properti atau sebuah

lagi ke contoh sistem registrasi siswa, atribut dari sebuah siswa adalah nomor siswa.

Lingkup atribut/identifier

Page 24: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

24

2 Pemrograman Modular

2.1 Konsep modular

Kebanyakan program yang telah dibuat ternyata tersusun dengan kurang baik, sehingga melakukan

perubahan pada program-program tersebut merupakan pekerjaan yang sulit dan menghabiskan

waktu. Kadangkala, program-program tersebut perlu ditulis ulang secara keseluruhan. Dalam OOP

(Object Oriented Programming), dikenal metode untuk "memecah" kode program yang panjang

menjadi modul-modul yang saling terkait antara yang satu dengan yang lain. Setiap kali diperlukan,

program utama dapat "memanggil" masing-masing modul kecil tersebut untuk mengerjakan

perintah/perhitungan tertentu. Setelah pekerjaan/perhitungan di dalam modul tersebut selesai

dilakukan, kontrol program dialihkan ke instruksi berikutnya di dalam program utama. Dalam bahasa

pemrograman, modul-modul tersebut juga disebut sebagai subrutin, subprogram, prosedur, atau

fungsi.

Dalam bahasa Java sebuah method atau function adalah sekumpulan pernyataan yang dieksekusi

saat dipanggil dari sebuah lokasi dalam program. Dengan fungsi kita dapat menstruktur sebuah

program secara modular sesuai dengan konsep pemrograman terstruktur. Keutamaan penggunaan

method antara lain:

1. Rancangan Top - down dengan teknik Sub goal, program besar dapat dibagi menjadi modul-

modul yang lebih kecil.

2. Dapat dikerjakan oleh lebih dari satu orang dengan koordinasi yang relatif mudah.

3. Mencari kesalahan relatif lebih mudah karena alur logika lebih jelas, dan kesalahan dapat

dilokalisir dalam satu modul.

4. Modifikasi dapat dilakukan, tanpa menggangu program secara keseluruhan.

5. Mempermudah dokumentasi.

Contoh pembagian program menjadi beberapa subprogram.

Gambar 8 Sistem modular dengan menggunakan fungsi

Sifat-sifat modul yang baik adalah :

Fan-In yang tinggi, yaitu makin sering suatu modul dipanggil oleh pengguna, makin tinggi

nilai fan-in.

Object Oriented Programming), dikenal metode untuk "memecah" kode program yang panjang

-modul yang saling terkait antara yang satu dengan yang lain. Setiap kali diperlukan,

am utama dapat "memanggil" masing-masing modul kecil tersebut untuk mengerjakan

perintah/perhitungan tertentu. Setelah pekerjaan/perhitungan di dalam modul tersebut selesai

dilakukan, kontrol program dialihkan ke instruksi berikutnya di dalam program utama

pemrograman, modul-modul tersebut juga disebut sebagai subrutin, subprogram, prosedur, atau

Java sebuah method atau function adalah sekumpulan pernyataan yang dieksekusi

saat dipanggil dari sebuah lokasi dalam program. Dengan fungsi kita dapat menstruktur sebuah

program secara modular sesuai dengan konsep pemrograman terstruktur. Keutamaan penggunaan

antara lain:

Rancangan Top - down dengan teknik Sub goal, program besar dapat dibagi menjadi modul-

modul yang lebih kecil.

Dapat dikerjakan oleh lebih dari satu orang dengan koordinasi yang relatif mudah.

Mencari kesalahan relatif lebih mudah karena alur logika lebih jelas, dan kesalahan dapat

dilokalisir dalam satu modul.

Modifikasi dapat dilakukan, tanpa menggangu program secara keseluruhan.

Mempermudah dokumentasi.

Contoh pembagian program menjadi beberapa subprogram.

Page 25: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

25

Fan-Out yang rendah, makin sedikit tugas yang dilakukan oleh suatu modul makin rendah

nilai fan-out. Dengan demikian, makin spesifik tugas yang dikerjakan oleh modul tersebut.

Self-Contained, atau memenuhi kebutu-hannya sendiri.

2.2 Lingkup Indetifier

Kebanyakan program Lingkup identifier meliputi bagian-bagian program dimana sebuah identifier

masih bisa diakses. Lingkup identifier meliputi :

Local : identifier yang di deklarasikan dalam method tertentu, sehingga identifier ini hanya

bisa dikenali dalam method tersebut dengan kata ruang lingkup untuk identifier ini terbatas

pada method dimana indentifier ini berada.

Global : identifier yang di deklarasikan dalam kelas secara global, maka identifier ini bisa

dikenali dalam setiap method yang ada dalam kelas dengan kata ruang lingkup untuk

identifier ini tidak terbatas pada method tertentu.

Untuk lebih memudahkan memahami ruang lingkup identifier, perhatikan tabel berikut:

Gambar 9 Lingkup Identifier

A. Local identifier

Identifier yang dideklarasikan di dalam fungsi, termasuk daftar parameter.

Lingkupnya terbatas pada fungsi tempat dideklarasikan.

Manakah yang termasuk local identifier pada contoh diatas?

x y1 y x b y f1

public static int x;

public static void main(String[] args) {

int y1;

...

}

public static int y;

void func1(){

int x;

...

}

void func2(){

int b;

...

}

void func3(int f1){

int y;

...

}

ProgramLingkup

Lingkup identifier meliputi :

identifier yang di deklarasikan dalam method tertentu, sehingga identifier yang di deklarasikan dalam method tertentu, sehingga identifier identifier

bisa dikenali dalam method tersebut dengan kata ruang lingkup untuk method tersebut dengan kata ruang lingkup untuk method identifier

method dimana method dimana method indentifier ini berada.

: identifier yang di deklarasikan dalam kelas secara global, maka identifier yang di deklarasikan dalam kelas secara global, maka identifier

dikenali dalam setiap method yang ada dalam kelas dengan kata ruang lingkup untuk method yang ada dalam kelas dengan kata ruang lingkup untuk method

identifier ini tidak terbatas pada identifier ini tidak terbatas pada identifier method tertentu. method tertentu. method

Untuk lebih memudahkan memahami ruang lingkup identifier, perhatikan tabel berikut:

x y1 y x b y f1

public static int x;

public static void main(String[] args) {

int y1;

public static int y;

void func1(){

x;

void func2(){

int b;

void func3(int f1){

y;

ProgramProgramLingkup

Page 26: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

26

B. Global identifier

Identifier yang dideklarasikan di luar fungsi.

Ruang lingkupnya meliputi seluruh program.

Identifier global, dapat digunakan untuk identifier lokal.

Disarankan tidak banyak menggunakan identifier global karena:

Jika program semakin besar, kecenderungan error semakin besar .

Sulit melacak bila terjadi kesalahan.

Data tidak terjaga dengan baik, setiap fungsi dapat mengubah nilai variabel tanpa

sepengetahuan fungsi lainnya.

Manakah yang termasuk global identifier pada contoh diatas?

3 Pengenalan Objek

3.1 Object

OOP (Object Oriented Programming) memandang semua aspek sebagai suatu obyek. OOP berputar

pada konsep dari object sebagai dasar element dari program. Beberapa contoh objek ada disekitar

kita, seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat / attributnya

dan tingkah laku. Kita ambil sebagai contoh adalah mobil dan singa. Objek mobil mempunyai sifat

tipe transmisi, warna dan manufaktur. Mempunyai kelakuan berbelok, mengerem dan berakselerasi.

Dengan cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa.

Objek pada dunia nyata dapat secara mudah dimodelisasi sebagai objek software menggunakan sifat

sebagai data dan tingkah laku sebagai method. Misalkan software yang dibuat adalah software ob-

jek mobil dalam permainan balap mobil atau software pendidikan interaktif pada kebun binatang un-

tuk anak anak. Sebuah objek adalah sebuah komponen software yang stukturnya mirip dengan objek

pada dunia nyata. Setiap objek dibuat dari satu set data (sifat) dimana variable menjabarkan esensial

karakter dari objek, dan juga terdiri dari satu set dari method (tingkah laku) yang menjabarkan ba-

gaimana tingkah laku dari objek. Jadi objek adalah sebuah berkas software dari variable dan

method yg berhubungan.

3.2 Class

Class adalah struktur dasar dari OOP. Terdiri dari dua tipe dari anggota yang disebut dengan field (at-

tribut/properti) dan method. Field menspesifikasi tipe data yang didefinisikan oleh class. Method

Sulit melacak bila terjadi kesalahan.

Data tidak terjaga dengan baik, setiap fungsi dapat mengubah nilai variabel tanpa

sepengetahuan fungsi lainnya.

Manakah yang termasuk global identifier pada contoh diatas? identifier pada contoh diatas? identifier

Pengenalan Objek

Object

Object Oriented Programming) memandang semua aspek sebagai suatu obyek

pada konsep dari object sebagai dasar element dari program. Beberapa contoh

kita, seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat / attributnya

dan tingkah laku. Kita ambil sebagai contoh adalah mobil dan singa. Objek mobil

tipe transmisi, warna dan manufaktur. Mempunyai kelakuan berbelok, mengerem dan bera

Dengan cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari

Objek pada dunia nyata dapat secara mudah dimodelisasi sebagai objek software menggunakan

dan tingkah laku sebagai method. Misalkan software yang dibuat adalah

jek mobil dalam permainan balap mobil atau software pendidikan interaktif pada

Page 27: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

27

spesifikasi dari operasi. Sebuah objek adalah sebuah instance pada class. Sebuah objek adalah se-

buah instance pada class. Variable dan methods dalam objek Java secara formal diketahui sebagai

instance variable dan instance methods untuk membedakannya dari variable class dan method class.

Perbedaan class dan object:

Sebuah class mobil dimana dapat digunakan untuk mendefinisikan beberapa object mobil. Mobil A

dan mobil B adalah objek dari kelas mobil.

Pada contoh kelas diatas, kelas circle merupakan sebuah template/blue print yang siap di inisialisasi

dalam sebuah objek. Dalam contoh diatas terbentuk 3 buah objek yang berbeda yaitu objek circle1,

circle2, dan circle3 dimana diciptakan berdasarkan kelas yang sama yaitu kelas circle. Ketika diini-

sialisasi, tiap objek mendapat satu set baru dari state variable of class. Implementasi dari method di-

bagi diantara objek pada kelas yang sama. Class menyediakan keuntungan berupa reusability. Untuk

lebih memudahkan memahami kelas dan objek perhatikan sekali lagi contoh berikut:

Di dalam java, sintak untuk mendeklarasikan sebuah kelas adalah:

Pencetak kukis sebagai kelas dapat digunakan berkali-

kali untuk mencetak kukis. Kukis adalah objek yang

terbentuk dari kelas kukis. Sebuah kelas dapat

menghasilkan banyak objek. Dari 1 cetakan dapat

dibuat banyak kukis dengan berbagai macam hiasan,

namun kukis-kukis tersebut tetap memiliki bentuk yang

sama.

mobil dimana dapat digunakan untuk mendefinisikan beberapa object

B adalah objek dari kelas mobil.

Pada contoh kelas diatas, kelas circle merupakan sebuah template/blue print yang siap di inisialisasi template/blue print yang siap di inisialisasi template/blue print

dalam sebuah objek. Dalam contoh diatas terbentuk 3 buah objek yang berbeda yaitu objek

circle3 dimana diciptakan berdasarkan kelas yang sama yaitu kelas

p objek mendapat satu set baru dari state variable of class. Implementasi dari

bagi diantara objek pada kelas yang sama. Class menyediakan keuntungan berupa

lebih memudahkan memahami kelas dan objek perhatikan sekali lagi contoh berikut:

Pencetak kukis sebagai kelas dapat digunakan berkali

kali untuk mencetak kukis. Kukis

terbentuk dari kelas kukis. Sebuah kelas dapat

menghasilkan banyak objek. Dari 1 cetakan dapat

Page 28: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

28

Dimana <modifier> adalah sebuah access modifier, yang mana boleh dikombinasikan dengan

tipeyang laen dari modifier.

Contoh berikut ini mendeklarasikan blueprint SuperHero.

3.3 Variable dan method Class

Variabel class merupakan variabel milik dari seluruh class. Variabel ini memiliki nilai yang sama untuk

semua objek pada kelas yang sama. Variabel ini juga disebut static member variables. Variable

dideklarasikan dengan sintak sebagai berikut:

Contoh:

Sebuah method adalah bagian terpisah dari kode yang akan dipanggil oleh program utama dan be-

berapa method lainnya untuk menunjukkan beberapa fungsi spesifik. Mengapa kita butuh untuk

Contoh berikut ini mendeklarasikan blueprint SuperHero.

Variable dan method Class

merupakan variabel milik dari seluruh class. Variabel ini memiliki nilai yang sama untuk

semua objek pada kelas yang sama. Variabel ini juga disebut static member variables

larasikan dengan sintak sebagai berikut:

Page 29: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

29

membuat method? Mengapa kita tidak meletakkan semua kode pada sebuah method yang sangat

besar?

Sintak mendeklarasikan method dalam kelas:

Contoh method:

Object memiliki identitas, state, dan tingkah laku yang unique. State : direpresentasikan oleh data

fields (properties / attributes) dengan nilai yang terkandung di dalamnya. Atribut/Identitas dispesifi-

kasikan oleh instance variables. Tingkah laku didefinisikan oleh sekumplan method. Memanggil me-

thod pada objek berarti bahwa Anda meminta objek untuk melakukan tugas. Melakukan tugas dalam

program membutuhkan method. Class menyediakan satu atau lebih method yang dirancang untuk

melakukan tugas-tugas class itu.

Sebelum dipanggil atau digunakan, sebuah method harus dideklarasikan dan didefinisikan terlebih dahulu. Pendefinisian method dapat dilakukan dengan sintaksis sebagai berikut:

modifier returnValueType methodName(list of parameters) {

// Method body;

}

Modifiers : sifatnya optional, memberitahukan compiler bagaimana cara memanggil

fungsi / method

returnValueType: tipe data yang dikembalikan oleh fungsi

Jika return-value-type diganti void maka fungsi tidak mengembalikan nilai

Contoh method:

memiliki identitas, state, dan tingkah laku yang unique. State : direpresentasikan oleh data

roperties / attributes) dengan nilai yang terkandung di dalamnya. Atribut/Identitas dispesif

instance variables. Tingkah laku didefinisikan oleh sekumplan method

pada objek berarti bahwa Anda meminta objek untuk melakukan tugas. Melakukan tugas dalam

program membutuhkan method. Class menyediakan satu atau lebih method yang dirancang untuk

melakukan tugas-tugas class itu.

Sebelum dipanggil atau digunakan, sebuah method harus dideklarasikan dan didefinisikan terlebih dahulu. Pendefinisian method dapat dilakukan dengan sintaksis sebagai berikut:

modifier returnValueType methodName(list of parameters) {

// Method body;

Page 30: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

30

Parameter-list: berisi daftar nilai yang dikirimkan dari fungsi pemanggil

Method Body : medhot body berisi kumpulan statements yang mendefinisikan apa yang

dilakukan fungsi

Contoh :

3.4 Jenis Method

Method adalah kumpulan program yang mempunyai nama dimana ketika kita menginginkan

kumpulan program itu dijalankan tinggal dipanggil nama methodnya. Penulisan program dengan

menggunakan method akan lebih efisien, program menjadi lebih terstruktur, dan praktis. Ada dua

jenis method jika dilihat dari hasil yang diberikan dari method itu sendiri yaitu:

1. Method yang tidak mengembalikan data (diberi tipe void) tanpa parameter input dan dengan

parameter input.

2. Method yang mengembalikan nilai menggunakan statemen return. Statemen return

mengembalikan nilai yang tipenya harus sama dengan tipe methodnya.

Berikut contoh method yang tidak mengembalikan nilai.

01 import java.util.Scanner;

02 public class Prak_4001 {

03 static void Cetak(){

System.out.print("I LOVE ");

}

public static void main(String[] args) {

Cetak();

System.out.print("JAVA");

}

04 System.out.print("I LOVE ");

05 }

06 public static void main(String[] args) {

07 Cetak();

08 System.out.print("JAVA");

09 }

10 }

Keterangan:

Baris ke 3 sampai baris ke 5 adalah method bernama cetak untuk menampilkan pernyataan

“I LOVE”.

Baris ke 7 adalah pernyataan untuk memanggil method cetak.

Ketika di eksekusi program ini akan menampilkan tulisan “I LOVE JAVA”.

Berikut contoh method yang tidak mengembalikan nilai dengan parameter.

01 import java.util.Scanner;

Jenis Method

Method adalah kumpulan program yang mempunyai nama dimana ketika kita menginginkan

kumpulan program itu dijalankan tinggal dipanggil nama methodnya. Penulisan program dengan

menggunakan method akan lebih efisien, program menjadi lebih terstruktur, dan praktis. Ada dua

jenis method jika dilihat dari hasil yang diberikan dari method itu sendiri yaitu:

Method yang tidak mengembalikan data (diberi tipe void) tanpa parameter input dan dengan

parameter input.

Method yang mengembalikan nilai menggunakan statemen return. Statemen return

mengembalikan nilai yang tipenya harus sama dengan tipe methodnya.

Berikut contoh method yang tidak mengembalikan nilai.

import java.util.Scanner;

public class Prak_4001 {

static void Cetak(){

System.out.print("I LOVE ");

public static void main(String[] args) {

Cetak();

System.out.print("JAVA");

Page 31: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

31

02 public class Prak_4002 {

03 static void Cetak(int a){

04 System.out.println("Nilai x: "+a);

05 }

06 public static void main(String[] args) {

07 int x;

08 for (x=0; x<3; x++){

09 Cetak(x);

10 }

11 System.out.println("Nilai x terakhir: "+x);

12 }

13 }

Keterangan:

Baris ke 3 sampai baris ke 5 adalah method bernama cetak dengan variabel a sebagai

parameter formal method yang menampilkan pernyataan “Nilai x:”.

Baris ke 8 sampai baris ke 10 adalah perulangan yang didalamnya ada pernyataan untuk

memanggil method cetak dengan x sebagai parameter aktual yang dikirimkan ke method.

Ketika di eksekusi program ini akan menampilkan :

Nilai x: 0

Nilai x: 1

Nilai x: 2

Nilai x terakhir: 3

Berikut contoh method yang mengembalikan nilai dengan parameter.

01 import java.util.Scanner;

02 public class Prak_4003 {

03 static int Kuadrat(int bil){

04 return bil*bil;

05 }

06 public static void main(String[] args){

07 int x=5;

08 System.out.println(x +" kuadrat adalah "+ Kuadrat(x));

09 }

13 }

Keterangan:

Baris ke 3 sampai baris ke 5 adalah method bernama Kuadrat dengan variabel bil sebagai

parameter formal method yang mengembalikan nilai bil*bil.

Baris ke 8 adalah pernyataan untuk memanggil method Kuadrat dengan variabel x sebagai

parameter formal.

Ketika di eksekusi program ini akan menampilkan : “5 kuadrat adalah 25”

Cetak(x);

}

System.out.println("Nilai x terakhir: "+x);

}

Baris ke 3 sampai baris ke 5 adalah method bernama cetak dengan variabel a sebagai

parameter formal method yang menampilkan pernyataan “Nilai x:”.

Baris ke 8 sampai baris ke 10 adalah perulangan yang didalamnya ada pernyataan untuk

memanggil method cetak dengan x sebagai parameter aktual yang dikirimkan ke metho

Ketika di eksekusi program ini akan menampilkan :

Nilai x: 0

Nilai x: 1

Nilai x: 2

Nilai x terakhir: 3

Berikut contoh method yang mengembalikan nilai dengan parameter.

import java.util.Scanner;

public class Prak_4003 {

static int Kuadrat(int bil){

return bil*bil;

}

public static void main(String[] args){

int x=5;

System.out.println(x +" kuadrat adalah "+ Kuadrat(x));

}

Page 32: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

32

3.5 Pemberian Variabel dalam method

Dalam method ada dua tipe data variabel passing dalam method. Ada dua jenis pemberian variabel

dalam method adalah pass by value dan pass by reference.

Pass by Value

Dalam setiap method parameter formal yang didefinisikan adalah sebagai sebuah salinan

dari nilai variabel yang dikirimkan ke method sebagai parameter aktual. Yang dikirimkan oleh

oleh parameter aktual adalah nilainya saja, bukan variabelnya. Sehingga apabila terjadi

perubahan data dari variabel parameter formal pada method, tidak akan berpengaruh pada

nilai variabel parameter aktual.

Contoh:

01 import java.util.Scanner;

02 public class Prak_4004 {

03 public static void main(String[] args){

04 int i = 10;

05 //mencetak nilai i

06 System.out.println( i );

07 //memanggil method test

08 //passing i pada method test

09 test( i ); // i sebagai parameter formal

13 //Mencetak nilai i

14 System.out.println( i );

15 }

16 public static void test( int j ){ // j sebagai parameter aktual

17 //merubah nilai parameter j

18 j = 33;

19 }

20 }

Keterangan program:

o Baris ke 9 adalah pernyataan pemanggil method dengan variabel i sebagai parameter

formal. variabel I berisi nilai 10 selanjutnya nilai 10 tersebut dilempar ke parameter

aktual (variabel j ) method test.

o Baris ke 16 sampai baris ke 19 adalah method test dengan variabel j sebagai

parameter aktual yang nilainya sesuai dengan nilai parameter formal (i=10) yang

dilempar dari statemen yang memanggilnya di baris 9.

o Baris 14 adalah pernyataan untuk menampilkan nilai variabel i. Nilai yang

ditampilkan adalah 10 bukan 33 karena variabel j tidak berpengaruh langsung

kepada variabel i.

Pass by Reference

Dalam setiap method parameter formal yang didefinisikan adalah sebagai sebuah salinan

dari nilai variabel yang dikirimkan ke method sebagai parameter aktual. Ini dinamakan pass

oleh parameter aktual adalah nilainya saja, bukan variabelnya. Sehingga apabila terjadi

perubahan data dari variabel parameter formal pada method, tidak akan berpengaruh pada

nilai variabel parameter aktual.

Contoh:

import java.util.Scanner;

public class Prak_4004 {

public static void main(String[] args){

int i = 10;

//mencetak nilai i

System.out.println( i );

//memanggil method test

//passing i pada method test

test( i ); // i sebagai parameter formal

//Mencetak nilai i

System.out.println( i );

}

public static void test( int j ){ // j sebagai parameter aktual

//merubah nilai parameter j

j = 33;

}

Keterangan program:

Baris ke 9 adalah pernyataan pemanggil method dengan variabel

formal. variabel I berisi nilai 10 selanjutnya nilai 10 tersebut dilempar ke parameter

aktual (variabel j ) method test. j ) method test. j

Page 33: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

33

by value seperti contoh diatas. Yang dikirimkan oleh oleh parameter aktual adalah nilainya

saja, bukan variabelnya. Sehingga apabila terjadi perubahan data dari variabel parameter

formal pada method, tidak akan berpengaruh pada nilai variabel parameter aktual.

Sebaliknya, yang pass by reference method parameter formal yang dikirimkan bukan nilainya

tetapi alamat memori dari variabel tersebut. Karena yang dilempar adalah alamat memori

dari variabel, maka jika terjadi perubahan data di variabel parameter aktual meskipun

namanya berbeda akan mengubah data di variabel parameter formal karena sebenarnya

kedua variabel ini mengakses lokasi memori yang sama.

Contoh:

01 import java.util.Scanner;

02 public class Prak_4004 {

03 public static void main(String[] args){

04 //membuat array integer

05 int []ages = {10, 11, 12};

06 //mencetak nilai array

07 for( int i=0; i<ages.length; i++ ){

08 System.out.println( ages[i] );

09 }

13 test( ages );

14 for( int i=0; i<ages.length; i++ ){

15 System.out.println( ages[i] );

16 }

17 }

18

19 public static void test( int[] arr ){

20 //merubah nilai array

21 for( int i=0; i<arr.length; i++ ){

22 arr[i] = i + 50;

23 }

24 }

25 }

Keterangan program:

o Baris ke 5 adalah deklarasi variabel array ages.

o Baris ke 7 sampai baris ke 9 adalah sebuah perulangan untuk menampilkan data

array.

o Baris ke 13 adalah statemen untuk memanggil method test dengan parameter aktual

ages dimana yang dilempar ke method adalah alamat memori dari variabel ages.

o Baris ke 19 sampai baris ke 24 adalah method test dengan varibel array arr sebagai

parameter formal yang menerima alamat memori dari parameter aktual ages yang

dilempar pada baris ke 13.

namanya berbeda akan mengubah data di variabel parameter formal karena sebenarnya

kedua variabel ini mengakses lokasi memori yang sama.

Contoh:

import java.util.Scanner;

public class Prak_4004 {

public static void main(String[] args){

//membuat array integer

int []ages = {10, 11, 12};

//mencetak nilai array

for( int i=0; i<ages.length; i++ ){

System.out.println( ages[i] );

}

test( ages );

for( int i=0; i<ages.length; i++ ){

System.out.println( ages[i] );

}

public static void test( int[] arr ){

//merubah nilai array

for( int i=0; i<arr.length; i++ ){

arr[i] = i + 50;

}

Keterangan program:

Page 34: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

34

o Baris ke 21 sampai baris ke 23 adalah perulangan untuk mengisi nilai variabel array

arr, dimana perubahan nilai array pada variabel ini akan juga merubah nilai pada

variabel array ages.

o Baris ke 14 sampai baris ke 16 adalah perulangan untuk menampilkan nilai variabel

array ages yang sudah berubah.

3.6 Library vs User-Defined Method

Method dalama bahasa Java terbagi dalam dua jenis :

Library Method

User-defined Method

Library method, adalah method - method standar yang sudah disediakan oleh bahasa Java.

Contohnya sqrt() ada di file Math.java. User-define method, adalah method yang didefinisikan sendiri

oleh pemrogram.

Contoh Program yang menggunakan Standard Library Function (println dan sqrt) :

3.7 Rekursif

Rekursif adalah teknik pemecahan masalah yang powerful dan dapat digunakan ketika inti dari masalah terjadi berulang kali. Tentu saja, tipe dari masalah ini dapat dipecahkan mengunakan perkataan berulang-ulang (menggunakan konstruksi looping seperti for, while dan do-while). Iterasi atau perkataan berulang-ulang merupakan peralatan yang lebih efisien jika dibandingkan dengan rekursif tetapi rekursif menyediakan solusi yang lebih baik untuk suatu masalah. Pada rekursif, method dapat memanggil dirinya sendiri.

Gambar 10 Rekursif

public class Fungsi {

public static void main(String[] args) {

int i;

for(i=0;i<6;i++) System.out.println(Math.sqrt(i));

}

}

dalama bahasa Java terbagi dalam dua jenis :

Method

User-defined Method

method, adalah method -method -method method standar yang sudah disediakan oleh bahasa Java. method standar yang sudah disediakan oleh bahasa Java. method

sqrt() ada di file Math.java. User-define method, adalah method yang didefinisikan sendiri method yang didefinisikan sendiri method

oleh pemrogram.

Contoh Program yang menggunakan Standard Library Function (println dan sqrt) :

Rekursif

Rekursif adalah teknik pemecahan masalah yang powerful dan dapat digunakan ketika inti dari masalah terjadi berulang kali. Tentu saja, tipe dari masalah ini dapat dipecahkan mengunakan perkataan berulang-ulang (menggunakan konstruksi looping seperti for, while dan atau perkataan berulang-ulang merupakan peralatan yang lebih efisien jika dibandingkan dengan rekursif tetapi rekursif menyediakan solusi yang lebih baik untuk suatu masalah. Pada rekursif,

dapat memanggil dirinya sendiri.

public class Fungsi {

public static void main(String[] args) {

int i;

for(i=0;i<6;i++) System.out.println(Math.sqrt(i));

}

Page 35: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

35

Untuk pengertian yang lebih baik dari rekursif, mari kita lihat pada bagaimana macam-macam dari teknik iterasi. Dalam teknik-teknik tersebut dapat juga kita lihat penyelesaian sebuah loop yang lebih baik menggunakan rekursif dari pada iterasi. Menyelesaikan masalah dengan perulangan menggunakan iterasi secara tegas juga digunakan pada struktur kontrol pengulangan. Sementara itu, untuk rekursif, penyelesaian masalah diulangi dengan memanggil sebuah method pengulangan. Maksud dari hal tersebut adalah untuk menggambarkan sebuah masalah kedalam lingkup yang lebih kecil dari pengulangan itu sendiri. Pertimbangan suatu perhitungan yang faktorial dalam penentuan bilangan bulat misalnya. Definisi rekursif dari kasus ini dapat diuraikan sebagai berikut: factorial(n) = factorial(n-1) * n; factorial(1) = 1. Sebagai contohnya, nilai faktorial dari 2 sama dengan fatorial (1)*2, dimana hasilnya adalah 2. Faktorial dari 3 adalah 6, dimana sama dengan faktorial dari (2)*3. Ilustrasi factorial seperti yang ditunjukkan dalam Gambar 1.0.

Listing program berikut ini menunjukkan bagaimana menghitung faktorial menggunakan teknik

iterasi.

Dibawah ini merupakan listing program yang sama tetapi menggunakan rekursif.

4 Implementasi method pada program

4.1 Membuat method sebagai fungsi pada program java

Method adalah suatu program yang terletak terpisah dari blok program utama, tetapi tetap

merupakan bagian dari program yang dibuat. Dengan menggunakan method dapat membuat

program menjadi lebih mudah dipahami. Method yang tidak mengembalikan nilai adalah seperti

prosedur pada pemrograman Pascal. Berikut adalah contoh program untuk menghitung luas 2 buah

bidang datar, yang penentuan bidang yang dihitung, ditentukan oleh pengguna melalui menu.

01 import java.util.Scanner;

dimana hasilnya adalah 2. Faktorial dari 3 adalah 6, dimana sama dengan faktorial dari (2)*3. Ilustrasi factorial seperti yang ditunjukkan dalam Gambar 1.0.

Listing program berikut ini menunjukkan bagaimana menghitung faktorial menggunakan teknik

Dibawah ini merupakan listing program yang sama tetapi menggunakan rekursif.

Implementasi method pada program

Page 36: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

36

02 public class Prak_401 {

03 public static void main (String[] args) {

04 Scanner masukan = new Scanner(System.in);

05 int pilihan=9;

06 do {

07 System.out.println(“\nMENU\n“);

08 System.out.println(“1. Menghitung Luas Persegi Panjang”);

09 System.out.println(“2. Menghitung Luas Lingkaran”);

10 System.out.println(“0. Keluar”);

11 System.out.print(“Masukkan Pilihan Anda : ”);

12 pilihan = masukan.nextInt();

13 switch(pilihan){

14 case 1 : luasPersegiPanjang();break;

15 case 2 : luasLingkaran();break;

16 }

17 } while(pilihan != 0);

18 }

19

20 private static void luasPersegiPanjang(){

21 Scanner masukan = new Scanner(System.in);

22 float panjang, lebar, luas;

23 System.out.print(“Masukkan nilai panjang : ”);

24 panjang = masukan.nextFloat();

25 System.out.print(“Masukkan nilai lebar : ”);

26 lebar = masukan.nextFloat();

27 luas = panjang * lebar;

28 System.out.println(“Luas Persegi Panjang : ” + luas);

29 }

30

31 private static void luasLingkaran(){

32 Scanner masukan = new Scanner(System.in);

33 float jari2, luas;

34 System.out.print(“Masukkan nilai jari-jari : ”);

35 jari2 = masukan.nextFloat();

36 luas = 3.14f * jari2 * jari2;

37 System.out.println(“Luas Lingkaran : ” + luas);

38 }

39 }

Keterangan program diatas:

System.out.println(“2. Menghitung Luas Lingkaran”);

System.out.println(“0. Keluar”);

System.out.print(“Masukkan Pilihan Anda : ”);

pilihan = masukan.nextInt();

switch(pilihan){

case 1 : luasPersegiPanjang();break;

case 2 : luasLingkaran();break;

}

} while(pilihan != 0);

}

private static void luasPersegiPanjang(){

Scanner masukan = new Scanner(System.in);

float panjang, lebar, luas;

System.out.print(“Masukkan nilai panjang : ”);

panjang = masukan.nextFloat();

System.out.print(“Masukkan nilai lebar : ”);

lebar = masukan.nextFloat();

luas = panjang * lebar;

System.out.println(“Luas Persegi Panjang : ” + luas);

}

private static void luasLingkaran(){

Scanner masukan = new Scanner(System.in);

Page 37: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

37

Baris ke 6 sampai baris 17 adalah perulangan dengan menggunakan do –while.

Baris ke 7 sampai baris 12 adalah proses output dan proses input.

Baris ke 12 adalah proses input untuk menentukan pilihan.

Baris ke 13 sampai baris 16 adalah switch case.

Baris ke 14 dan baris ke 15 adalah case dimana masing-masing case memanggil method

luasPersegiPanjang() untuk case 1 dan memanggil method luasLingkaran() untuk case 2.

Baris ke 20 sampai baris ke 29 adalah method untuk menghitung luas persegi panjang.

Baris ke 31 sampai baris ke 38 adalah method untuk menghitung luas lingkaran.

Masing – masing method berisi proses output dan input user, proses perhitungan dan proses

penampilan output hasil perhitungan.

4.2 Membuat method sebagai fungsi yang mengembalikan suatu

nilai

Method yang mengembalikan suatu nilai adalah fungsi yang ketika kembali ke program utamanya

disertai dengan membawa suatu nilai. Berikut adalah program untuk menjumlahkan 2 buah bilangan

yang di dalamnya menggunakan method.

01 import java.util.Scanner;

02 public class Prak_402 {

03 public static void main (String[] args) {

04 Scanner masukan = new Scanner(System.in);

05 int bil1, bil2, bil3;

06 System.out.println(“Program Menjumlahkan 2 bilangan“);

07 System.out.print(“Masukkan bilangan 1 : ”);

08 bil1 = masukan.nextInt();

09 System.out.print(“Masukkan bilangan 2 : ”);

10 bil2 = masukan.nextInt();

11 System.out.print(“Masukkan bilangan 3 : ”);

12 bil3 = masukan.nextInt();

13 System.out.println();

14 System.out.println(“Jumlah bil1 + bil2 : ”+(jumlah(bil1,bil2)));

15 System.out.println(“Jumlah bil2 + bil3 : ”+(jumlah(bil2,bil3)));

16 System.out.println(“Jumlah bil1 + bil3 : ”+(jumlah(bil1,bil3)));

17 }

18

19 private static int jumlah(int a, int b){

20 int hasil = a + b;

21 return hasil;

22 }

23 }

Keterangan program diatas:

ke 31 sampai baris ke 38 adalah method untuk menghitung luas lingkaran. method untuk menghitung luas lingkaran. method

Masing – masing – masing – method berisi proses method berisi proses method output dan output dan output input user, proses perhitungan dan proses ut user, proses perhitungan dan proses ut

penampilan output hasil perhitungan. output hasil perhitungan. output

Membuat method sebagai fungsi yang mengembalikan suatu

yang mengembalikan suatu nilai adalah fungsi yang ketika kembali ke program utamanya

disertai dengan membawa suatu nilai. Berikut adalah program untuk menjumlahkan 2 buah bilangan

yang di dalamnya menggunakan method.

import java.util.Scanner;

public class Prak_402 {

public static void main (String[] args) {

Scanner masukan = new Scanner(System.in);

int bil1, bil2, bil3;

System.out.println(“Program Menjumlahkan 2 bilangan“);

System.out.print(“Masukkan bilangan 1 : ”);

bil1 = masukan.nextInt();

System.out.print(“Masukkan bilangan 2 : ”);

bil2 = masukan.nextInt();

System.out.print(“Masukkan bilangan 3 : ”);

bil3 = masukan.nextInt();

System.out.println();

System.out.println(“Jumlah bil1 + bil2 : ”+(jumlah(bil1,bil2)));

System.out.println(“Jumlah bil2 + bil3 : ”+(jumlah(bil2,bil3)));

System.out.println(“Jumlah bil1 + bil3 : ”+(jumlah(bil1,bil3)));

Page 38: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

38

Baris ke 4 dan ke 5 adalah deklarasi varibel yang dibutuhkan.

Baris ke 6 sampai dengan baris ke 12 adalah proses output dan proses input data dari user.

Baris ke 14 sampai dengan baris ke 16 adalah proses untuk menampilkan hasil penjumlahan

dari pemanggilan fungsi jumlah dengan parameter input yang berbeda-beda.

Baris ke 19 sampai baris ke 22 adalah method untuk menghitung penjumlahan dari data

parameter input fungsi.

Baris ke 20 adalah proses penjumlahan dari varibel a dan variabel b.

Baris ke 21 adalah nilai pengembalian (return value) yang dilempar hasilnya ke pemanggilan.

4.3 Membuat program dengan method rekursif

Suatu fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Berikut ini adalah contoh

program rekursif untuk menghitung nilai faktorial suatu bilangan.

01 import java.util.Scanner;

02 public class Prak_404 {

03 public static void main (String[] args) {

04 Scanner masukan = new Scanner(System.in);

05 int bil, hasil;

06 System.out.print(“Masukkan suatu bilangan : ”);

07 bil = masukan.nextInt();

08 hasil = faktorial(bil);

09 System.out.println(“Nilai faktorial ”+ bil +” adalah “+ hasil);

10 }

11

12 private static int faktorial(int a){

13 if (a==1)

14 return 1;

15 Else

16 return (a * faktorial(a-1));

17 }

18 }

Keterangan program diatas:

Baris ke 4 dan ke 5 adalah deklarasi varibel yang dibutuhkan.

Baris ke 6 dan ke 7 adalah proses output dan input data dari user.

Baris ke 8 adalah pernyataan yang memanggil fungsi faktorial yang hasilnya disimpan dalam

variabel hasil.

Baris ke 9 adalah untuk menampilkan hasil variabel hasil.

Baris 12 sampai baris 17 adalah fungsi faktorial yang mengembalikan nilai hasil dari rekursif.

Baris 16 adalah pernyataan memanggil fungsi rekursif.

ke 21 adalah nilai pengembalian (return value) yang dilempar hasilnya ke pemanggilan.

Membuat program dengan method rekursif

Suatu fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Berikut ini adalah contoh

program rekursif untuk menghitung nilai faktorial suatu bilangan.

import java.util.Scanner;

public class Prak_404 {

public static void main (String[] args) {

Scanner masukan = new Scanner(System.in);

int bil, hasil;

System.out.print(“Masukkan suatu bilangan : ”);

bil = masukan.nextInt();

hasil = faktorial(bil);

System.out.println(“Nilai faktorial ”+ bil +” adalah “+ hasil);

}

private static int faktorial(int a){

if (a==1)

return 1;

Else

return (a * faktorial(a-1));

}

Keterangan program diatas:

Page 39: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

39

CONTOH SOAL 1. Jelaskan yang dimaksud dengan pemrograman modular!

Jawab:

Proses "memecah" kode program yang panjang menjadi modul-modul yang saling terkait antara yang satu dengan yang lain. Setiap kali diperlukan, program utama dapat "memanggil" masing-masing modul kecil tersebut untuk mengerjakan perintah/perhitungan tertentu.

2. Jelaskan apa yang dimaksud dengan desain berorientasi objek!

Jawab:

IDE

Desain berorientasi objek adalah sebuah teknik yang memfokuskan desain pada object dan

class berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour

dan interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan

pengembangan, meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi

kemampuan dalam modifikasi dan meningkatkan penggunaan kembali software.

LATIHAN SOAL 1. Apa yang dimaksud dengan kelas dan objek, serta jelaskan keterkaitan antara kelas dan

objek!

2. Sebutkan komponen yang membentuk sebuah kelas!

3. Sebutkan dan jelaskan ruang lingkup identifier dalam sebuah kelas!

4. Jelaskan pengertian library dan user-defined method!

5. Apakah yang dimaksud dengan rekursif? Berikan contoh.

tertentu.

Jelaskan apa yang dimaksud dengan desain berorientasi objek!

Desain berorientasi objek adalah sebuah teknik yang memfokuskan desain pada

berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (

dan interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan

pengembangan, meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi

kemampuan dalam modifikasi dan meningkatkan penggunaan kembali software

IHAN SOAL Apa yang dimaksud dengan kelas dan objek, serta jelaskan keterkaitan antara kelas dan

Sebutkan komponen yang membentuk sebuah kelas!

Sebutkan dan jelaskan ruang lingkup identifier dalam sebuah kelas!

Jelaskan pengertian library dan user-defined method!

Apakah yang dimaksud dengan rekursif? Berikan contoh.

Page 40: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

40

RANGKUMAN Konsep pemrograman modular muncul karena kebanyakan program yang telah dibuat ternyata

tersusun dengan kurang baik, sehingga melakukan perubahan pada program-program tersebut

merupakan pekerjaan yang sulit dan menghabiskan waktu. Kadangkala, program-program tersebut

perlu ditulis ulang secara keseluruhan. Dalam OOP (Object Oriented Programming), dikenal metode

untuk "memecah" kode program yang panjang menjadi modul-modul yang saling terkait antara yang

satu dengan yang lain. Setiap kali diperlukan, program utama dapat "memanggil" masing-masing

modul kecil tersebut untuk mengerjakan perintah/perhitungan tertentu. Dalam bahasa Java sebuah

method atau function adalah sekumpulan pernyataan yang dieksekusi saat dipanggil dari sebuah

lokasi dalam program.

OOP (Object Oriented Programming) memandang semua aspek sebagai suatu obyek. OOP berputar

pada konsep dari object sebagai dasar element dari program. Class adalah struktur dasar dari OOP.

Terdiri dari dua tipe dari anggota yang disebut dengan field (attribut/properti) dan method. Field

menspesifikasi tipe data yang didefinisikan oleh class. Method spesifikasi dari operasi. Method yang

dirancang dalam kelas akan memperhatikan konsep modular, sehingga beberapa keunggulan konsep

modular akan membantu membentuk kelas lebih baik dan lebih efisien.

TES FORMATIF

1. Jelaskan keutamaan pemrograman modular.

2. Berikan rancangan contoh kelas dan objek yang terbentuk dari kelas yang dirancang.

3. Perbaiki program berikut sehingga bisa digunakan untuk menukar 2 buah karakter

4. Perhatikan kode dibawah

satu dengan yang lain. Setiap kali diperlukan, program utama dapat "memanggil" masing

modul kecil tersebut untuk mengerjakan perintah/perhitungan tertentu. Dalam bahasa

function adalah sekumpulan pernyataan yang dieksekusi saat dipanggil dari sebuah

lokasi dalam program.

Object Oriented Programming) memandang semua aspek sebagai suatu obyek

pada konsep dari object sebagai dasar element dari program. Class adalah struktur dasar dari OOP.

Terdiri dari dua tipe dari anggota yang disebut dengan field (attribut/properti

menspesifikasi tipe data yang didefinisikan oleh class. Method spesifikasi dari operasi.

dirancang dalam kelas akan memperhatikan konsep modular, sehingga beberapa keunggulan konsep

modular akan membantu membentuk kelas lebih baik dan lebih efisien.

TES FORMATIF

Jelaskan keutamaan pemrograman modular.

Berikan rancangan contoh kelas dan objek yang terbentuk dari kelas yang dirancang.

Perbaiki program berikut sehingga bisa digunakan untuk menukar 2 buah karakter

Perhatikan kode dibawah

Page 41: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

41

5. Buat program dengan mendefinisikan fungsi untuk menghitung luas lingkaran dan

keliling lingkaran.

DAFTAR PUSTAKA [1] P.J. Deitel, H.M. Deitel , “Java : how to program 9th” Prentice Hall,ISBN 978-0-13-257566-9,2012. [2] Mary Campione, Kathy Walrath, Alison Huml. “Java™ Tutorial, Third Edition: A Short Course on

the Basics”. Addison Wesley. 2000. [3] Arnold, K., Gosling, J., and Holmes, J. “The Java™ Programming Language, 4th Edition”. Addison

Wesley Professional. 2005. [4] Java tutorial: http://download.oracle.com/javase/tutorial/

Buat program dengan mendefinisikan fungsi untuk menghitung luas lingkaran dan

keliling lingkaran.

DAFTAR PUSTAKA [1] P.J. Deitel, H.M. Deitel , “Java : how to program 9th” Prentice Hall,ISBN 978-0-

Mary Campione, Kathy Walrath, Alison Huml. “Java™ Tutorial, Third Edition: A Short Course on . Addison Wesley. 2000.

[3] Arnold, K., Gosling, J., and Holmes, J. “The Java™ Programming Language, 4th EditionWesley Professional. 2005.

] Java tutorial: http://download.oracle.com/javase/tutorial/

Page 42: TUJUAN INSTRUKSIONAL UMUM · PDF filedi awal untuk menambah kemampuan dalam menciptakan pemrograman modular. Larik (array) ... Memahami String dan karakter dalam Bahasa Java. Pendahuluan

42

KUNCI JAWABAN LATIHAN SOAL

1. Class

Class mengizinkan Anda dalam mendeklarasikan tipe data baru. Ia dijalankan sebagai

blueprint, dimana model dari object yang Anda buat berdasarkan pada tipe data baru ini.

Object

Sebuah object adalah sebuah entiti yang memiliki keadaan, behaviour dan identitas yang

yang tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Inilah instance

sebenarnya dari sebuah class. Ini juga dikenal sebagai instance. Instance dibuat sewaktu

Anda meng-instantiate class menggunakan kata kunci new.

2. Komponen utama pembentuk kelas:

Attribute

Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi

tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah

field data.

Method

Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal sebagai

fungsi atau prosedur.

3. Kebanyakan program Lingkup identifier meliputi bagian-bagian program dimana sebuah

identifier masih bisa diakses. Lingkup identifier meliputi :

Local : identifier yang di deklarasikan dalam method tertentu, sehingga identifier ini

hanya bisa dikenali dalam method tersebut dengan kata ruang lingkup untuk

identifier ini terbatas pada method dimana indentifier ini berada.

Global : identifier yang di deklarasikan dalam kelas secara global, maka identifier ini

bisa dikenali dalam setiap method yang ada dalam kelas dengan kata ruang lingkup

untuk identifier ini tidak terbatas pada method tertentu.

4. Library method, adalah method - method standar yang sudah disediakan oleh bahasa Java.

Contohnya sqrt() ada di file Math.java. User-define method, adalah method yang

didefinisikan sendiri oleh pemrogram.

5. Rekursif adalah method yang memanggil method ini sendiri. Contoh problem menghitung

factorial. Dibawah ini merupakan listing program yang sama tetapi menggunakan rekursif.

Sebuah object adalah sebuah entiti yang memiliki keadaan, object adalah sebuah entiti yang memiliki keadaan, object behaviour

yang tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Inilah

sebenarnya dari sebuah class. Ini juga dikenal sebagai instance. Instance

Anda meng-instantiate class menggunakan kata kunci new.

Komponen utama pembentuk kelas:

Attribute

Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi

tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah

data.

Method

Sebuah method menjelaskan method menjelaskan method behaviour dari sebuah behaviour dari sebuah behaviour object. Method juga dikenal sebagai Method juga dikenal sebagai Method

fungsi atau prosedur.

Kebanyakan program Lingkup identifier meliputi bagian-bagian program dimana sebuah

identifier masih bisa diakses. Lingkup identifier meliputi :

Local : identifier yang di deklarasikan dalam method tertentu, sehingga identifier yang di deklarasikan dalam method tertentu, sehingga identifier

hanya bisa dikenali dalam method tersebut dengan kata ruang lingkup untuk method tersebut dengan kata ruang lingkup untuk method

identifier ini terbatas pada identifier ini terbatas pada identifier method dimana method dimana method indentifier ini berada.

Global : identifier yang di deklarasikan dalam kelas secara global, maka identifier yang di deklarasikan dalam kelas secara global, maka identifier

bisa dikenali dalam setiap method yang ada dalam kelas dengan kata ruang lingkup method yang ada dalam kelas dengan kata ruang lingkup method

untuk identifier ini tidak terbatas pada identifier ini tidak terbatas pada identifier method tertentu. method tertentu. method

method, adalah method -method -method method standar yang sudah disediakan oleh bahasa Java. method standar yang sudah disediakan oleh bahasa Java. method

Contohnya sqrt() ada di file Math.java. User-define method, adalah

didefinisikan sendiri oleh pemrogram.

Rekursif adalah method yang memanggil method ini sendiri. Contoh problem menghitung

factorial. Dibawah ini merupakan listing program yang sama tetapi menggunakan rekursif.