Revisi Algoritma Fifin
Revisi Algoritma Fifin
Penyusun
NAMA : Maria Fifiliana Hasni
NIM : 2457201005
Dengan mengucapkan syukur alhamdulillah kehadirat Allah SWT atas segala limpahan rahmat
dan hidayah-Nya, sehingga penyusun dapat menyelesaikan buku ajar yang berjudul: “Analisis dan
Desain Algoritma” dengan baik. Modul praktikum ini disusun sebagai pedoman khususnya bagi
mahasiswa di Jurusan Sistem Informasi dan Jurusan Informatika, Universitas PGRI Delta Sidoarjo,
dalam memberikan pengenalan, pemahaman, serta mengasah kemampuan dalam bidang logika dan
algoritma yang sudah menjadi kewajiban untuk dikenal dan dipahami sebagai dasar mata kuliah di
bidang Sistem Informasi dan Informatika.
Modul Praktikum Analisis dan Desain Algoritma merupakan modul Latihan yang berisi tentang
teknik-teknik algoritma dasar yang diperlukan untuk menyelesaikan masalah dengan bantuan
komputer. Modul Latihan ini juga membahas Bahasa Pemrograman Java untuk mengeksekusi
algoritma dalam menyelesaikan masalah. Diharapkan para mahasiswa nantinya bisa memahami
segala bentuk algoritma dasar serta terampil dalam menggunakan Bahasa Pemrograman Java.
Bagaimanapun penyusun telah berusaha membuat buku ini dengan sebaik-baiknya, namun tidak
ada kesempurnaan dalam sebuah karya manusia. Penyusun menyadari masih banyak kekurangan
dalam penyusunan buku ini. Untuk itu pula segala masukan, kritik dan saran dari pembaca dapat
menjadikan acuan bagi penyusun dalam penyempurnaan dan pembuatan buku berikutnya.
Tiada untaian kata yang dapat saya sampaikan selain panjatkan doa, semoga Allah SWT selalu
membuka hati kita dengan cahaya-Nya dan mengajarkan ilmu-Nya kepada kita, serta terima kasih
yang sebesar-besarnya kepada semua pihak yang telah membantu dlam penyusunan Modul
Praktikum Analisa Dan Desain Algoritma ini. Semoga modul ini dapat bermanfaat bagi kita semua.
ii
DAFTAR ISI
iii
Bab 4 Stuktur Data ....................................................................................................................... 29
4.1. Tipe Data ..................................................................................................................... 29
4.1.1. Tipe Data Dasar / Primitive (Data Type)...................................................................... 29
4.1.2. Tipe Data Bentukan ...................................................................................................... 30
4.1.3. Tipe Data Abstrak (Abstract Data Type) ...................................................................... 30
4.2. Pemberian Nilai (Data Value) ..................................................................................... 30
4.3. Variabel ....................................................................................................................... 31
4.4. Konstanta ..................................................................................................................... 33
4.5. Operator ....................................................................................................................... 33
4.6. Latihan Mandiri ........................................................................................................... 35
4.6.1. Contoh Program Mengenal Variabel ............................................................................ 35
4.6.2. Contoh program mengenal Konstanta .......................................................................... 35
4.6.3. Contoh Program operator Aritmatika ........................................................................... 36
4.7. Latihan Soal ................................................................................................................. 36
Bab 5 Struktur Dasar Algoritma ................................................................................................. 38
5.1. Struktur Algoritma Runtutan ....................................................................................... 38
5.2. Struktur Algoritma Pemilihan/Percabangan ................................................................ 39
5.2.1 . If Kondisi Tunggal ...................................................................................................... 39
5.2.2. If Kondisi Ganda .......................................................................................................... 41
5.2.3. If Kondisi Majemuk ..................................................................................................... 43
5.3. Switch Case ................................................................................................................ 44
5.4. Latihan Soal................................................................................................................. 46
Bab 6 Struktur Algoritma (Lanjutan) ........................................................................................ 51
6.1. Pengulangan For .......................................................................................................... 51
6.1.1. Nested For .................................................................................................................... 53
6.2. Pengulangan While ...................................................................................................... 53
6.2.1.Nested While ................................................................................................................. 54
6.3. Pengulangan Do…While .............................................................................................. 55
6.3.1. Nested Do…While ........................................................................................................ 56
6.4. Latihan Soal ................................................................................................................. 57
Bab 7 Array ................................................................................................................................... 60
7.1 Array 1 Dimensi ......................................................................................................... 60
7.2 Array 2 Dimensi ......................................................................................................... 62
7.3 Array 3 Dimensi ......................................................................................................... 65
iv
DAFTAR GAMBAR
Gambar 1.1. Langkah-langkah penukaran gelas isi gelas A dan gelas B. ..........................................2
Gambar 1.2. penukaran gelas isi gelas A dan gelas B........................................................................2
Gambar 2.1. Contoh penulisan Pseudocode Konversi Nilai............................................................ 11
Gambar 3.1. Tahapan pembuatan aplikasi menggunakan pemrograman Java ................................ 17
Gambar 3.2 . Contoh hasil running menggunakan metode console ................................................ 21
Gambar 3.3 Contoh hasil running menggunakan metode NetBeans .............................................. 21
Gambar 4.1. Logika Variabel ......................................................................................................... 31
Gambar 4.2 Hubungan tipe data, nilai dan variabel ....................................................................... 31
Gambar 4.3 Contoh penggunaan variable pada Flowchart............................................................. 32
Gambar 5.2. Diagram alir if majemuk ............................................................................................ 43
v
DAFTAR TABEL
Tabel 2.1. Contoh penulisan perbandingan algotima menggunakan kalimat deskriptif dan
pseudocode...................................................................................................................................... 10
Tabel 2.2. Simbol Flowchart............................................................................................................ 11
Tabel 4.1. Operator pada Java ......................................................................................................... 34
vi
Bab 1
Pengantar Algoritma
Pokok Bahasan
1. Konsep logika dan algoritma
2. Ciri-ciri algoritma
3. Konsep algoritma, program, dan bahasa pemrograman
Tujuan Pembelajaran
Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
1. Mengenal dan memahami logika dan algoritma.
2. Mampu membuat contoh penyelesaian masalah dengan menggunakan konsep logika
Algoritma adalah urutan langkah logis yang Terorganisir dan Terstruktur yang dirancang untuk
Menyelesaikan Masalah atau Mengeksekusi Tugas tertentu. Yang ditekankan adalah urutan langkah logis,
yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft
Press Computer and Internet Dictionaary 1997, 1998). Jika Anda dapat memecahkan suatu masalah yang ada,
maka Anda juga dapat menulis Algoritma untuk masalah tersebut karena algoritma berkaitan erat dengan
problem solving. Alur pemikiran dalam menyelesaikan permasalahan dituangkan secara tertulis melalui
algoritma, sehingga algoritma dari setiap orang akan berbeda. Karena algoritma adalah hasil dari proses
problem solving yang telah dirumuskan dalam langkah-langkah terstruktur dan dapat dieksekusi. Berikut
adalah bagaimana kedua konsep ini berhubungan :
• Analisis Masalah : Langkah awal dalam problem solving membantu menentukan bagaimana
algoritma akan bekerja. Di sini, analisis masalah membantu merumuskan langkah-langkah yang
diperlukan dalam algoritma.
• Perancangan Algoritma : Setelah masalah teridentifikasi, solusi harus dirancang dalam bentuk
algoritma yang terdiri dari serangkaian langkah logis yang dapat diterapkan secara berulang.
• Implementasi dalam Kode : Algoritma yang dirancang pada tahap problem solving kemudian
diimplementasikan sebagai kode dalam bahasa pemrograman.
• Efisiensi : Algoritma yang efektif memungkinkan pemecahan masalah dengan cara yang lebih
cepat dan lebih efisien, meminimalkan penggunaan sumber daya komputasi.
Algoritma tidak hanya dalam ilmu komputer dan matematika saja Algoritma juga dapat kita jumpai dalam
kehidupan sehari-hari misalnya :
1. Algoritma mengirim Pesan Whatsapp baru
a. Buka aplikasi Whatsapp pada ponsel
b. Buka Halaman chat baru pilih nomor Hp Whatsapp
c. Input pesan yang akan dikirim
1
d. Klik tombol kirim
e. Chat Whatsapp akan terkirim
2. Algoritma menghitung luas lingkaran:
a. Menentukan nilai jari-jari (r) lingkaran.
b. Menentukan nilai phi.
c. Menghitung luas lingkaran dengan cara, nilai jari-jari (r) dikalikan dengan nilai phi.
d. Maka luas lingkaran ditemukan.
Selesai.
Untuk lebih memahamkan lagi arti dari algoritma dicontohkan sebuah permasalahan penukaran isi dari
dua gelas. Diberikan dua buah gelas A dan B, gelas A berisi air teh dan gelas B berisi air kopi. Pertukarkan isi
gelas tersebut sehingga menghasilkan gelas A yang semula berisi air teh menjadi berisi air kopi dan gelas B
yang semula berisi air kopi menjadi berisi air teh. Ilustrasi permasalahan ini dapat dilihat pada Gambar 1.2
dan ilustrasi langkah-langkah algoritma dapat dilihat pada gambar 1.1
Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua buah gelas sangat
sederhana. Disini digunakan urutan langkah yang masuk akal atau logis sehingga isi dari kedua nya sudah
berpindah media, dari A ke B dan B ke A. Inilah yang dinamakan “Algoritma”, urutan penyelesaian sebuah
permasalahan dengan urutan dan langkah yang logis dan masuk akal menghasilkan sesuatu langkah yang
benar.
Saat menggunakan logika, sebaiknya jangan berfıkir terlalu rumit tentang sebuah masalah, karena belum
tentu masalah itu serumit yang kita pikir. Pikirkan hal yang paling sederhana untuk menyelesaikan masalah
itu, sehingga tidak terjebak dalam pikiran rumit yang dibuat sendiri. Meskl demikian jangan meremehkan
masalah sekecil apapun, tapi berfikir sederhana untuk menghasilkan solusi yang efektif.
Tujuan dari belajar logika dan algoritma adalah agar dapat membiasakan diri melakukan suatu
perencanaan apabila menyelesaikan suatu masalah. Karena suatu permasalahan yang diselesaikan dengan
suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal dibandingkan
menyelesaikan masalah tanpa menggunakan suatu perencanaan.
Dalam menentukan algoritma untuk menyelesaikan suatu permasalahan, akan dihadapkan oleh beberapa
pilihan algoritma. Oleh karena itu kita harus memiliki rambu-rambu dalam menentukan pilihan algoritma
antara lain :
2
1. Algoritma haruslah benar
Algoritma akan memberikan keluaran seperti yang diharapkan dari sejumlah masukan yang
diberikan. Tidak peduli sebagus apapun algoritma, jika memberikan keluaran yang salah, maka sudah
pasti algoritma tersebut bukanlah algoritma yang baik.
2. Mengetahui seberapa baik hasil yang dicapai oleh algoritma
Hal ini penting terutama pada algoritma yang memerlukan aproksimasi hasil yaitu algoritma yang
hasilnya hanya berupa pendekatan. Algoritma yang baik harus mampu memberikan hasil yang
sedekat mungkin dengan nilai yang sebenarnya.
3. Efısiensi algoritma.
Efısiensi algoritma dapat ditinjau dari dua hal yaitu efısiensi waktu dan memori. Meskipun
algoritma memberikan keluaran yang benar atau paling mendekati, tetapi jika kita harus
menunggu lama untuk mendapatkan hasil semisal berjam-jam untuk mendapatkan keluarannya maka
biasanya algoritma tersebut biasanya tidak akan menjadi pilihan utama, setiap orang
menginginkan keluaran yang relatif cepat. Begitujuga dengan memori, semakin besar memori
yang terpakai maka semakin jelek algoritma tersebut. Dalam kenyataannya, setiap orang bisa
membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi
perbedaandalam menyusun algoritma, tentunya kita mengharapkan keluaran yang mirip atau
sama. Jika dihadapkan pada permasalahan seperti ini maka sebaiknya pilih algoritma yang paling
efısien dan cepat.
3
2. Pemilihan (Selection)
Struktur pemillhan atau selection menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi
atau pengambilan suatu keputusan. Kadangkala terdapat suatu kejadian yang baru akan dikerjakan jika suatu
kondisi tertentu telah terpenuhi. Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi
adalah persyaratan yang dapat bemilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan
apabila kondisl bemllai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan. Contoh kasus
pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini:
1. Masukkan bilangan sebagai sebuah bilangan bulat
2. Bagi bilangan dengan angka 2, simpan nilai sisa pembagian dalam variabel sisa
3. Jika nilai sisa sama dengan 0 maka kerjakan langkah 4:
4. Tampilkan ”GENAP” ke layar
5. Jika nilai sisa tidak sama dengan 0 maka kerjakan langkah 6
6. Tampilkan ”GANJIL” ke layar
7. Selesai.
3. Pengulangan (Repetition)
Struktur ini memberikan suatu perintah atau tindakkan yang dilakukan beberapa kali. Misalnya jika
mau menuliskan kata “Belajar Algoritma dan Pemrograman” sebanyak sepuluh lcali. Akan lebih efisien
jika menggunakan sturktur ini dari pada sekedar menuliskannya berturut-turut sebanyalc sepuluh kali.
Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang
kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup
melakukan pengulangan dengan instruksi yang tersedia.
Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak
jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan di
bahasa pemrograman yaitu for..., while () ..., do...while (), repeat.... until, for...down to...do, for...to...do
dan lain-lain. Sebagai contoh adalah menampilkan huruf tertentu sebanyak n kali ke layar sebagai berikut:
1. Deklarasikan variabel huruf untuk menyimpan karakter yang akan ditampilkan.
2. Deklarasikan variabel n untuk menyimpan banyaknya perulangan
3. Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah
dilakukan.
4. Masukkan sebuah karakter dan simpan dalam variabel huruf
5. Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variabel n
6. Set nilai counter dengan 0
7. Tampilkan huruf ke layar
8. Lakukan penambahan counter dengan 1
9. Jika nilai counter+n, kerjakan langkah 6
10. Jika nilai counter = n selesai
4
1.4 Perbedaan Algoritma dan Program
Sebagaimana telah dijelaskan diatas bahwa algoritma adalah urutan langkah-langkah terbatas
yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan menyelesaikan
suatu masalah tertentu. Sementara program adalah kumpulan instruksi berupa pernyataan yang ditulis
dengan menggunakan bahasa pemrograman yang melibatkan pemilihan struktur data. Jika disimpulkan
bahwa dalam membuat suatu program maka membutuhkan = Algoritma + Bahasa Pemrograman.
Bahasa pemrograman dan algoritma berhubungan sangat erat pada sebuah program. Algoritma
yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik,
demikian juga sebaliknya. lika dihubungkan dengan program, maka pembuatan algoritma harus
memperhatikan kaidah :
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang
memprosesnya.
5
Komputer adalah mesin pemroses. Agar dapat dikerjakan oleh komputer, algoritma harus ditulis dalam
notasi bahasa pemrograman berupa instruksi yang dapat dipahami oleh komputer sehingga dinamakan
program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa
pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Program ditulis dengan menggunakan
salah satu bahasa pemrograman. Kegiatan membuat program disebut pemrograman @rogramming). Orang
yang menulis program disebut pemrogram @rogrammer). Tiap-tiap langkah didalam program disebut
pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan,
maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.
5. Bagaimana cara menentukan apakah sebuah algoritma itu efisien atau tidak?
a. Kompleksitas Waktu : Waktu yang dibutuhkan
b. Kompleksitas Ruang : Penggunaan memori secara optima
c. Ukuran Input : Efesiensi meningkatnya ukuran input
d. Kualitas Input : Kualitas dan jenis data yang terbaca ( acak & urut Perbandingan dengan
Algoritma Lain : Melakukan pengujian terhadap algoritma dengan membandingkannya dengan
algoritma lain yang menyelesaikan masalah yang sama.
e. Pengujian dan Analisis : Melakukan pengujian terhadap algoritma dengan berbagai ukuran dan
komposisi input, dan juga dapat di analis dengan data memori yang tercantum.
6
Bab 2
Notasi Penulisan Algoritma
Pokok Bahasan
1. Representasi algoritma
2. Jenis penulisan algoritma
3. Tata aturan penulisan algoritma dengan bahasa deskriptif
4. Tata aturan penulisan algoritma dengan pseudocode
5. Notasi flowchart
6. Tata aturan penulisan algoritma dengan flowchart
Tujuan Pembelajaran
1. Menjelaskan representasi algoritma
2. Menjelaskan tentang pilihan cara penulisan algoritma.
3. Mengetahui tata aturan penulisan algoritma dengan bahasa deskriptif.
4. Memahami tata aturan penulisan algoritma dengan pseudocode.
5. Mengetahu berbagai notasi fiowchart.
6. Mengetahui cara penulisan algoritma dengan fiowchart.
7
4. Mendukung Proses Dokumentasi
• Representasi algoritma merupakan bagian penting dari dokumentasi yang membantu mengarsipkan
logika solusi. Dokumentasi ini dapat digunakan di masa depan untuk pemeliharaan, pembaruan, atau
analisis lebih lanjut.
• Dokumentasi yang jelas membuat algoritma lebih mudah dipelajari dan diterapkan kembali oleh
pengembang lain yang mungkin bekerja pada proyek di masa mendatang.
5. Meningkatkan Efisiensi dalam Pengembangan Kode
• Dengan membuat representasi yang jelas, pengembang bisa lebih cepat mengimplementasikan algoritma ke
dalam kode karena sudah memiliki panduan yang jelas. Representasi membantu memastikan bahwa
algoritma diimplementasikan dengan benar, sesuai dengan logika yang dirancang sejak awal.
6. Mengurangi Potensi Kesalahan
• Representasi yang jelas dan terstruktur memungkinkan pengembang untuk mengidentifikasi masalah
atau inkonsistensi dalam logika algoritma sebelum diterapkan ke dalam mode. Ini membantu mengurangi
potensi kesalahan (bug) pada tahap implementasi.
• Dengan melihat langkah-langkah secara berurutan, kita dapat lebih mudah melakukan pengujian
terhadap setiap tahapan dalam algoritma.
Algoritma berisi langkah-langkah penyelesaian masalah. Notasi algoritma merupakan hal dasar yang
harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah
terdapat kerangka-kerangka suatu program. Deskripsi langkahlangkah dalam algoritma tidak mengacu pada
sintaks bahasa pemrograman apapun dan tidak tergantung pada spesifikasi komputer yang mengeksekusinya.
Tidak ada aturan baku dalam menuliskan algoritma, yang penting mudah dibaca dan menggunakan bahasa
yang mudah dipahami. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu
diperhatikan. Terdapat tiga cara yang umum digunakan dalam menuliskan algoritma yaitu:
1. Kalimat Deskriptif
2. Pseudocode
3. Flowchart
8
Setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar adalah
kalimat yang diapit oleh pasangan tanda kurung kurawal (‘ (’ dan ‘}’). Adapun contoh dari penulisan notasi
kalimat deskriptif adalah sebagai berikut :
Contoh 1:
Judul:
Algoritma Perkalian{perkalian 2 bilangan bulat. Algoritma memasukkan
2 bilangan bulat, kemudian menghitung hasil perkalian dari kedua angka
tersebut, dan mencetak hasil perkalian tersebut}
Deklarasi:
bil, bi2, hasilKali = int
Deskripsi:
Input Bil, Bi2
hitung hasilKali = bil x
bi2 Tampilkan hasilKali
Selesai
Contoh 2:
Judul:
Algoritma hitungDiskon
{menghitung harga setelah diskon dengan memasukkan harga awal produk
dan besaran diskonnya}
Deklarasi:
hargaAwal, besaranDiskon(%), hargaDiskon = int
Deskripsi:
Input hargaAwal, besaranDiskon(%)
Hitung hargaDiskon = hargaAwal—(hargaAwal x
besaranDiskon(%)) Tampilkan hargaDiskon
Selesai.
Kedua contoh algoritma diatas dapat menunjukkarı bahwa penggunaan notasi talimat deskriptif
sangatlah sederhana, mudah dibaca dan dipahami. Penyelesaian permasalahan yang sederhana lebih mudah
menggunakan notasi kalimat deskriptif ini, namun jika penyelesaian masalah terbilang kompleks dan rumit,
akan lebih sulit terselesaikan menggunakan notasi talimat deskriptif, dan dapat menggunakan notasi algoritma
lainnya, seperti pseudocode atau fiowchart.
2.3. Pseudocode
Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa pemrograman tingkat tinggi.
Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Biasanya pseudocode
menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma.
Pseudocode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari
beberapa bahasa pemrograman tetapi bahasa tersebut hanya di tujukan agar dapat di baca manusia. Sehingga
pseudocode tidak dapat dipahami oleh komputer. Supaya notasi pseudocode bisa dipahami oleh komputer
maka harus diterjemahkan terlebih dahulu menjadi sintaks bahasa pemrograman komputer tertentu.
9
Dalam pseudocode, tidak ada sintaks standar yang resmi. Karena itu, pseudocode ini dapat diterapkan
dalam berbagai bahasa pemograman. Disarankan untuk menggunakan keyword yang umum digunakan seperti if,
then, else, while, do, repeat, for, dan lainnya Keuntungan menggunakan notasi pseudocode adalah
kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap
pseudocode dengan notasi bahasa pemrograman. Tabel 2-1. Contoh Perbandingan penulisan algoritma
menggunakan kalimat deskriptif dan pseudocode.menunjukkan perbandingan beberapa kata yang biasa
digunakan dalam penulisan algoritma dengan menggunakan kalimat deskriptif dan pseudocode.
Tabel 2.1. Contoh Perbandingan penulisan algoritma menggunakan kalimat deskriptif dan pseudocode.
Struktur penulisan pseudocode secara umum sama dengan struktur penulisan algoritma dengan
menggunakan kalimat deskriptif yaitu dimulai dari judul/header, deklarasi/kamus dan diakhiri dengan
deskripsi. Meskipun tidak ada sintaks khusus dalam penulisan pseudocode, tetapi terkadang pseudocode
dituliskan dengan menggunakan style atau gaya penulisan dari beberapa bahasa pemrograman yang ada,
seperti Java, Pascal, C dan lain-lain. Gambar 4-1 merupakan contoh penulisan pseudocode program
konversi nilai angka ke huruf.
Deklarasi:
Nama dan nim = String nilai =
integer
Deskripsi:
1. Read (nama)
2. Read (nim)
3. Read (nilai)
4. If (nilai < 45) then
5. Grade = E
6. Else if (nilai >= 45) and (nilai < 60) then
7. Grade = D
8. Else if (nilai >= 60) and (nilai < 70) then
9. Grade = C
10. Else if (nilai >= 70) and (nilai < 80) then
11. Grade = B
12. Else
13. Grade = A
10
14. Write (nama)
15. Write (NIM)
16. Write (nilai)
17. Selesai
Gambar 2.1. Contoh penulisan Pseudocode Konversi Nilai
2.4. Flowchart
Flowchart adalah cara penulisan algoritma dengan menggunakan notasi grafis. Flowchart
merupakan gambar atau bagan yang memperlihatkan urutan atau langkah-langkah dari suatu program
dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakandengan simbol. Dengan
demikian setiap simbol menggambarkan prosestertentu. Sedangkan antara proses digambarkan dengan
garis penghubung.
Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart standar yang
dikeluarkan oleh ANSI dan ISO. Tabel 2-2 merupakan beberapa simbol flowchart yang digunakan
dalam menggambar suatu flowchart:
11
Untuk memahami lebih dalam mengenai flowchart ini, dibuat sebuahkasus sederhana. Misalnya
buatlah sebuah rancangan program dengan menggunakan flowchart untuk menentukan keliling dan luas
lingkaran.Perumusan untuk menentukan luas lingkaranadalah: luas — PI*radius*radius, dan keliling
lingkaran adalah keliling=2*PI*radius, dengan PI adalah sebuah konstanta 3.14. Flowchart
permasalahan ini dapat dilihat di Gambar 4-2.
12
yang diperlukan untuk menyelesaikan suatu masalah.tujuannya adalah untuk mempermudah
pemahama,analisis,dan implementasi solusi dari suatu masalah.selain itu representasi algoritma
merupakan fondasi dalam pembuatan program.Representasi ini biasanya berupa teks, seperti seperti
pseudocode,atau visual seperti flowchart (diagram alir).Dengan Representasi algoritma yang
diekspresikan melalui Flowchart dan Pseudocode yang memudahkan pemahaman dan
implementasi.Flowchart dapat digunakan untuk memeberikan gambaran visual yang jelas tentang alur
proses,sehingga dapat meminilimasir kesalahan sedangkan .Pseudocode mendekati bahasa
pemrograman.Dengan representasi ini progammer dapat dapat merancang solusi yang efisen dan efektif
sebelum menulis kode program.ia juga dapat memberikan kerangka kerja yang jelas,memastikan
program akan berjalan secara efisien,akurat,serta dapat memudahkan proses pengembangan dan
pemeliharaan.
2. Buatlah algoritma dengan kalimat deskriptif untuk menukarkan isi dua buah nilai variabel yang
diinputkan!
berikut meruapakan algoritma dengan kalimat deskriptif untuk menukarkan isi dua
buah variabel yang diinputkan
Judul:
Menukarkan isi dua buahvariabel yang diinputkan.
Deklarasi:
var1, var2, varBantu, int
Deskripsi:
Input nilai pertama ke var1
Input nilai kedua ke var2
Simpan sementara nilai var1 ke varBantu
Pindahkan nilai var2 ke var1
Lalu pindahkan nilai varBantu ke var2
Output kedua nilai var1 dan var2 yang sudah ditukar
Selesai
3. Buatlah algoritma dengan Flowchart untuk menentukan nilai terbesar dari dua buah input.
13
4. Buatlah algoritma dengan Pseudocode untuk menentukan untuk menentukan input bilangan termasuk
bilangan genap atau ganjil atau atau nol!
Algoritma menentukan input bilangan genap,ganjil,dan nol
Deklarasi Variabel:kita mendeklarasi variabel ‘bilangan’untuk
menyimpan input dari pengguna.
Input bilangan: program meminta pengguna untuk memasukan sebuah
bilangan
Cek kondisi:
Jika ‘bilangan’ sama dengan 0,maka program mencetak bawah bilangan
tersebut adalah 0
Jika ‘bilangan’ dibagi 2 memiliki sisa 0 (‘bilangan MOD 2 = 0
‘),maka program mencetak bawah bilangan tersbut adalah genap.
Jika tidak, maka program mencetak bahwa bilangan tersebut adalah
ganjil.
END
Pseudocode menentukan input bilangan genap,ganjil,dan no l
DEKLARASI VARIABEL
DECLARE bilangan AS INTERGER
// Input bilangan dari pengguna
PRINT “Masukan sebuah bilangan:”
INPUT bilangan
// Cek kondisi bilangan
IF bilangan = 0 THEN
PRINT “Bilangan tersebut adalah nol.”
ELSE IF bilangan MOD 2 = 0 THEN
PRINT “Bilangan tersebut adalah genap.”
14
ELSE
Flowchart Program Konversi Temperatur (Fahrenheit ke Celcius dan Reamur) dalam java:
5. Buatlah Flowchart konversi temperature dalam derajat Fahrenheit (F), dikonversi ke dalam derajat
Celcius (C) dan Reamur (R). Petunjuk konversi adalah C=5/9 (F-32), R=4/9 (F-32)
15
Bab 3
Pemrograman Java
Pokok Bahasan
1. Pengenalan Pemrograman Java
2. Pengenalan Struktur Program Java
3. Pengenalan Perintah Dasar Pemrograman Java
Tujuan Pembelajaran
1. Memahami pengertian, komponen dan cara kerja bahasa pemrograman Java.
2. Memahami struktur program java.
16
menjadi sebuah binary file atau byte code yang dapat dibaca computer dengan file ber-ekstensi .class.
Kompilasi program dapat gagal dilakukan jika terdapat kesalahan dalam menuliskan kode program
maupun sintaks Java yang digunakan sehingga kode program yang ditulis tidak dapat diterjemahkan
ke binary file dengan baik.
3. Run (menjalankan) program
Menjalankan program Java dapat dilakukan dengan menggunakan perintah java nama file (misal:
java HelloWorld). Jika kompilasi pada tahapan sebelumnya berhasil dilakukan, maka program akan
dijalankan sesuai dengan kode yang telah diterjemahkan saat kompilasi. Tahapan keseluruhan dalam
membuat aplikasi Java diperlihatkan pada Gambar 5. I
3.2.2 Modifier
Modifier biasanya dibagi ke dalam 2 bagian, bagian Pertama di awal nama class, method, variable,
bagian kedua di akhir class
modifierl tipeData namaCIass modifier2 [namaCIass/namaInterface...]{
// body class
}
17
1. Modifier 1
Untuk menentukan sifat dari suatu kelas dan menentukan previlage (hak akses) dari kelas lain.
Public Modifier ini dapat diakses dari kelas lain, baik dalam package yang sama maupun
berbeda
Private Modifier ini tidak dapat diakses sama sekali dari kelas lain, baik dari package
yang sama maupun berbeda. (hanya untuk kelas dan package yang sama)
Protected Modifier ini membatasi akses kelas yang dilakukan oleh subkelas turunannya dan
kelas lain yang terletak dalam package yang sama
Abstract Dalam modifier ini, kelas tersebut tidak dapat diinstankan langsung menjadi
objek. Dipakai pada Hirarki kelas tertinggi yang hanya mungkin dilakukan
dengan cara inheritance. Atau dengan kata lain, kelas murni tanpa objek dan tidak
boleh memiliki objek Dalam modifier ini, kelas tersebut tidak dapat diturunkan
menjadi subkelas.
Final Dalam modifier ini, kelas tersebut tidak dapat diturunkan menjadi subkelas.
2. Modifier 2
Untuk menentukan relasi (extend atau implement) dengan kelas lainnya.
Extend : Modifier ini digunakan untuk inheritance/pewarisan.
Superclass Bila terjadi pewarisan, kelas yang mewariskan method dan atributnya disebut
kelas super, sedangkan yang diwariskan disebut subkelas.
Implement : Modifier ini digunakan bila kelas mengimplementasikan satu atau lebih interface.
Interfase
18
import java. util . Scanner;
Sintaks diatas menyatakan bahwa kita akan meng-import kelas Scanner yang terdapat pada paket
java.util.
3. Class
Class merupakan struktur program utama dan memiliki hierarki tertinggi pada pemrograman Java.
Didalam class (class body) didefinisikan method, variabel, maupun inner class. Deklarasi kelas secara
umum memiliki bentuk:
Class nama_kelas {
...// class body
}
Contoh deklarasi kelas:
class mahasiswa {
Contoh deklarasi kelas yang memiliki variabel:
class mahasiswa {
String NPM;
String nama;
int nil a i;
}
4. Method
Method merupakan subprogram atau kumpulan kode program yang menjelaskan perilaku dari objek
yang akan di-instance dari sebuah kelas. Method dapat menerima input sebagai parameter untuk
menjalankan method tersebut. Method dapat dikategorikan menjadi 4 jenis, yaitu:
a. Main method
Main method merupakan method utama yang langsung dijalankan ketika kelas dieksekusi. Dengan
kata lain, jika program Java yang dibuat tidak memiliki main method, maka program tersebut tidak dapat
dijalankan. Contoh kelas Java yang memiliki main method:
public class Mahasiswa {
public static void main(String args[]){ <- DekIarasi main method String
nama "Ani";
System.out.println("Nama mahasiswa ama);
}
}
b. Konstruktor
Konstruktor merupakan method yang akan dijalankan ketika sebuah objek di-instance dari
suatu kelas. Konstruktor umumnya digunakan untuk memberikan nilai awal untuk objek yang
dibuat dari sebuah kelas.
Syarat utama dari konstruktor adalah method memiliki nama yang sama dengan nama kelasnya.
Contoh kelas Java yang memiliki konstruktor :
public class Mahasiswa {
Mahasiswa( )
String nama = “Ani”;
System.out.println(”Nama mahasiswa ama);
}
public static void main(String args[] )
Mahasiswa mh = new Mahasiswa( )
}
}
19
Deklarasi konstruktor pada contoh diatas terdapat pada baris 2 dengan nama konstruktor sama dengan
nama kelasnya, yaitu Mahasiswa. Pada baris 8, dibuat objek mh dari kelas Mahasiswa, hal ini membuat
seluruh kode program yang terdapat di dalam konstruktor (baris 2-4) dijalankan secara otomatis.
c. Prosedur
Prosedur dapat digunakan untuk mengelompokkan kode program sehingga program yang besar
dapat dipecah menjadi subprogram atau modul yang dapat dijalankan secara berulang sesuai dengan
peruntukannya. Deklarasi method sebagai prosedur dilakukan dengan memberikan kata kunci berupa
void sebelum nama method. Contoh deklarasi method sebagai prosedur:
public class PersegiPanjang {
static void hitungLuas ()
int p
int l = 4;
int L = p*l;
System.out.println("Luas persegi panjang );
}
public static void main(String args[])
hitungLuas();
}
}
Pada baris 2, dideklarasikan method sebagai sebuah prosedur dengan nama hitungLuas(). Ketika
method ini dipanggil pada main method, maka kode program pada baris 3-6 secara otomatis
dijalankan.
d. Fungsi
Fungsi memiliki kegunaan yang sama dengan prosedur. Perbedaannya dengan prosedur terletak
pada adanya nilai yang harus dikembalikan dari method yang berperan sebagai fungsi. Nilai kembalian
dari fungsi ini diberikan dengan menggunakan kata kunci return.
public class PersegiPanjang {
static int hitungLuas( )
int p
int l = 4;
int L = p*l;
return L;
}
public static void main (String args C ] ){
System.out.println(“Luas persegi panjang = ”+hitungLuas());
}
}
Method sebagai fungsi memiliki cara deklarasi yang berbeda dengan prosedur. Pada baris 2, dapat
dilihat terdapat kata kunci int yang merupakan tipe data untuk bilangan bulat. Kata kunci ini
dimaksudkan untuk memberikan tipe data bagi nilai kembalian yang dihasilkan oleh fungsi, yaitu
berupa bilangan bulat. Nilai kembalian dari fungsi hitungLuas() adalah nilai L berdasarkan pada kode
program baris 6. Sehingga ketika method hitungLuas() dipanggil pada baris 9, maka nilai yang
ditampilkan adalah nilai dari L yang dihitung pada baris 5.
20
3.5.1 CetakBaris_01.java // di dalam method main //
// Program Cetak di dalam method main
public class Cetakbaris_01 {
public static void main (String[] args){
System.out.println("Selamat Datang di perkuliahan Algoritma
Dasar");
System.out.println("Di Universitas PGRI Delta Sidoarjo");
}
}
Hasil:
CAWINDOWS\system32\cmd.exe 口 X
A
D:\Latihan Java\LatihanBab3\target\classes>
Gambar 3.2 Contoh hasil running menggunakan metode console
21
3.5.3 CetakBaris_03.java // di dalam method constructor//
// Program Cetak di dalam method construktor
public class CetakBaris_03 {
public CetakBaris_03(){
System.out.println("Selamat Datang di Perkuliahan Algoritma Dasar");
System.out.println("Di Universitas PGRI Delta Sidoarjo");
}
public static void main (String[] args){
CetakBaris_03 obj03 = new CetakBaris_03();
}
}
Hasil:
22
Hasil:
System.Out.Println(“*********************”);
System.Out.Println(“\tInput Data Mahasiswa ”);
System.Out.println (**********************”);
System.Out.print(“NIM\t\t: ”); NIM=objInput.readLine();
System.Out.print(“Nama\t\t: ”); nama=objInput.readLine()
System.Out.print(“No. Absen\t: ”);
nil Absen=Byte.parseByte(objInput.readLine());
System.out.print(“Nilai Tugas\t
nilTugas=Byte.parseByte(objInput.readLine());
System.out.print(“Nilai UTS\t: ”);
nilUTS=Byte.parseByte(objInput.readLine());
System.out.print(“Nilai UAS\t: ”);
nilUAS=Byte.parseByte(objInput.readLine());
System.out.print(“**********************”);
}
catch(Exception e) {
System.out.println(“Error : “+e);
}
System.out.println(“************************”);
System.out.println(“\Cetak Data Mahasiswa ”);
System.out.println(“************************”);
System.out.println(“Nama\t\t: ”+nama);
System.out.println(“No.Absen\t: ”+nilAbsen);
System.out.println(“Nilai Tugas\t: ”+ni1Tugas);
System.out.println(“Nilai UTS\t: ”+nilUTS):
23
System.out.println(“Nilai UAS\t: ”+nilUAS);
System.out.println(“**************************”);
}
}
Hasil:
import java.util.Scanner;
nama = keyboard.nextLine();
System.out.print("Alamat: ");
alamat = keyboard.nextLine();
System.out.print("Usia: ");
usia = keyboard.nextInt();
System.out.print("Gaji: ");
gaji = keyboard.nextInt();
24
Hasil:
package com.input.input_keyboard_02;
import javax.swing.*;
public class Input_keyboard_02 {
public static void main(String[] args) {
String NIM = "", nama = "";
byte nilAbsen = 0, nilTugas = 0, nilUTS = 0, nilUAS = 0;
try {
NIM = JOptionPane.showInputDialog("NIM");
nama = JOptionPane.showInputDialog("Nama");
nilAbsen = Byte.parseByte(JOptionPane.showInputDialog("No.
Absen"));
nilTugas = Byte.parseByte(JOptionPane.showInputDialog("Nilai
Tugas"));
nilUTS = Byte.parseByte(JOptionPane.showInputDialog("Nilai
UTS"));
nilUAS = Byte.parseByte(JOptionPane.showInputDialog("Nilai
UAS"));
}
catch (Exception e) {
System.out.println("Error: " + e);
}
System.out.println("******************************************");
System.out.println("\t\tCetak Data Mahasiswa ");
System.out.println("******************************************");
System.out.println("NIM\t\t: " + NIM);
System.out.println("Nama\t\t: " + nama);
System.out.println("No. Absen\t: " + nilAbsen);
System.out.println("Nilai Tugas\t: " + nilTugas);
25
System.out.println("Nilai UTS\t: " + nilUTS);
System.out.println("Nilai UAS\t: " + nilUAS);
System.out.println("******************************************");
}
}
Hasil:
1. Buatkan Kesimpulan / rangkuman dari 5 metode cara cetak atau menampilkan output dari
Latihan mandiri program 3.5.1 sampai program 3.5.5.
CetakBaris_02.java: Metode ini mencetak output dalam method main() dengan menggunakan
karakter \n untuk membuat baris baru.
CetakBaris_04.java: Metode ini mencetak output dalam method cetak() yang dipanggil dari
method main() menggunakan System.out.println().
CetakBaris_05.java: Metode ini mencetak output dalam method cetak() yang menerima
26
parameter string dan menggunakan System.out.println() untuk mencetak parameter.
2. Tulis ulang kode program pada latihan 3.6.1 (poin a) menggunakan text editor NetBeans dan
buat project baru dengan nama InputDOS_NetBeans.
- Jalankan Program tersebut lewat teks editor NetBeand dan Console Cetak output dari
Running program tersebut
- Berikan kesimpulan dari hasil cara menjalankan program tersebut
import java.io.*;
publi class InputDOS_NetBeans_01{
public static void main (String[] args) {
string NIM = "" ;
byte nilAbsen=0,nilTugas=0,nilUTS=0,nilUAS=0;
BufferedReader objInput = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("******************************************");
System.out.println("\tInput Data Mahasiswa ");
System.out.println("******************************************");
System.out.print("NIM\t\t:");NIM=objInput.readLine();
System.out.print("Nama\t\t:");nama=objInput.readLine();
system.out.print ("No.Absen\t: ");
nilAbsen=Byte.parseByte(objInpt.readline ());
system.out.print ("Nilai Tugas\t : ");
nilTugas=Byte.parseByte(objInput.readline ());
system.out.print("Nilai UTS\t : ");
nilUTS=Byte.parseByte(objInput.readline ());
27
Hasil
Kesimpulan:
Metode Console lebih cocok untuk pengguna yang sudah berpengalaman dan dapat memiliki control penuh
untuk kode pengguna tersebut, untuk debug metode console ini pengguna harus menggunakan perintah
debug secara manual untuk menemukan titik kesalahan, metode ini lebih fleksibel karena pengguna dapat
menjalankan program dari mana saja tanpa perlu menginstall IDE. Sedangkan metode NetBeans cocok
untuk pengguna yang ingin memiliki lingkungan pengembangan yang nyaman dan terstruktur, pengguna
dapat menggunakan metode NetBeans sebagai IDE untuk menulis, menjalankan, dan debug kode, fitur
debug yang memudahkan pengguna untuk menemukan kesalahan, dan metode ini lebih terstruktur untuk
membantu pengguna menorganisir kode dan proyek dengan lebih baik.
28
BAB 4
Struktur Data
Pokok Bahasan
1. Definisi struktur data
2. Pengertian Variabel, Tipe Data, Nilai dan Konstanta
Tujuan Pembelajaran
1. Memahami pengertian struktur data dan tipe data serta mengetahui jenis-jenisnya.
2. Memahami pengertian, cara mendeklarasikan dan memakai konstanta dan variabel.
Dalam istilah ilmu komputer, struktur data adalah cara penyimpanan, penyusunan dan
pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat
digunakan secara efisien. Dengan kata lain struktur data adalah sebuah skema organisasi,
seperti variable, tipe data, nilai, konstanta dan lain-lain, yang diterapkan pada data sehingga
data dapat diinterprestasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada
data tersebut. Pemakaian struktur data yang tepat didalam proses pemrograman akan
menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara
keseluruhan lebih efisien dan sederhana. Pada prinsipnya suatu program komputer
memanipulasi data untuk menjadi informasi yang berguna. Ada tiga hal yang berkaitan dengan
data, yaitu: Tipe Data, Nilai dan Variabel
29
3. Char (Karakter)
Karakter adalah semua huruf yang ada di dalam alfabet, tanda baca maupun karakter spesial.
Karakter ditulis diantara dua tanda petik tunggal. Contoh : 'A'.
4. Boolean (logika)
Boolean adalah tipe data logika yang terdiri dari dua pernyataan benar atau salah.
Pernyataan benar biasanya ditulis True atau angka 1, sedangkan pernyataan salah ditulis dengan
False atau angka 0. Sedangkan operasi aritmatika yang umum digunakan adalah or, not, and
dan xor.
4.1.2 Tipe Data Bentukan
Tipe data bentukan atau tipe data komposit adalah tipe data yang dibentuk dari tipe data
dasar dengan maksud mempermudah pekerjaan programer. Yang masuk dalam tipe data
bentukan adalah array, string, record, union, struct, dan lain-lain. Tujuan dibuatnya tipe data
bentukan adalah :
1. Mempermudah proses pemrograman
2. Mempermudah dalam penambahan variabel
3. Mempermudah pengelompokan data sehingga lebih teratur.
Contoh assignment:
- Nama "Ali bin AbuThalib";
- Jarak100.56;
- XJarak;
- RentangX + 50 - 3*Y;
30
b. Pemberian nilai dengan cara pembacaan dapat dilakukan melalui instruksi dengan bentuk
umum sbb:
• read(variable); atau
• read( variable1, variable2, ... );
Contoh pembacaan data:
- read(Nama);
- read(Jarak, Rentang, X);
4.3 Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai
tertentu didalam proses program atau juga sebagai wadah penampung semenatara data yang
diberi nama atau identitas. Nilai dari suatu variabel dapat berubah sesuai kebutuhan selama
eksekusi berlangsung. Variabel merupakan tempat di memori komputer untuk menyimpan data
berupa nilai dengan tipe data tertentu. Variabel harus diberi nama sebagai identifikasi. Secara
logika dapat dibayangkan sebuah Variabel sebagai sebuah kotak kosong yang dapat diisi dengan
suatu tipe data tertentu, misal kita membuat sebuah variabel berupa bilangan bulat, maka
dalam logika, kita sedang membuat kotak kosong yang hanya dapat diisi dengan bilangan
bulat, tidak boleh jenis bilangan selain bilangan bulat.
Logika Variabel dapat dilihat pada Gambar 6.1 sedangkan untuk hubungan antara tipe
data, nilai dan variabel dapat di ilustrasikan seperti pada Gambar 6.2 dan untuk contoh
penulisan variabel dalam flowchart dapat dilihat pada Gambar 6.3.
Tipe Data:
Alat Tulis
Nama Variabel:
kotakPensil
Data Value
Data Value
76.7
Data Type
float
Variabel= Variabel=
Lebar Nilai_Akhir
31
Masukkan
Bilangan
sisa_bagi =bilangan %2
"Bilangan Ganjil"
END
Pada Gambar 6.4 di ilustrasikan membuat sebuah variabel dengan nama identifier nilai yang
digunakan untuk menyimpan suatu nilai dalam memori sesuai dengan tipe data yang telah
ditentukan. Semisal Variabel Nilai dilakukan operasi aritmatika berupa operasi pembagian (/) atau
modulus (%) yang di ilustrasikan seperti pada Gambar 6.5. Dalam hal ini variabel nilai dibagi dengan
angka 2, dan hasil operasi pembagian disimpan dalam variabel baru yang bemama hasilbagi.
Operasi aritmatika lain yang terjadi pada Gambar 6.5 adalah variabel nilai dimodulus dengan angka
2 dan hasilnya disimpan dalam variabel baru yang bemama sisabagi.
32
Bentuk umum deklarasi variable adalah :
Nama_variable : tipe data
Contoh:
Nama : string {variabel nama bertipe string}
Nim : integer {variabel nim bertipe integer/bilangan bulat}
jns_kelamin : char {variabel jns_kelamin bertipe karakter}
Ada aturan tertentu yang wajib diikuti dalam pemberian nama variable antara lain:
• Harus dimulai dengan abjad, tidak boleh dengan angka atau simbol
• Tidak boleh ada spasi diantaranya
• Jangan menggunakan simbol-simbol yang bisa membingungkan seperti titik dua, titik koma,
koma, dsb.
• Sebaiknya memiliki arti yang sesuai dengan elemen data
• Sebaiknya tidak terlalu panjang
- Contoh variabel yang benar : Nama, Alamat, Nilai_ujian
- Contoh variabel yang salah : 4XYZ, IP rata, Var: +xy,458;
4.4 Konstanta
Konstanta dan variabel memiliki pengertian yang sama, yang membedakan adalah nilai
variabel dapat berubah sesuai kebutuhan, sedangkan konstanta nilainya selalu tetap atau tidak
berubah. Nilai konstanta ditentukan saat pendefinian, missal :
Nama variable :
tipe data Phi=
3.14;
Beberapa manfaat dari konstanta antara lain :
• Menghindari kesalahan, dengan menggunakan konstanta anda dapat menghindari
kesalahan yang mungkin terjadi jika anda menulis secara manual nilai nilai yang sama di
beberapa bagian kode.
• Kemudahan pemeliharaan, Jika anda perlu mengubah nilai yang sering digunakan dalam
pemrograman maka hanya perlu mengubahnya di satu tempat, yang membuat pemeliharaan
kode menjadi lebih efisien.
4.5 Operator
Pada bahasa Java, terdapat 4 jenis operator yang umum digunakan, yaitu:
1. Operator Aritmatika, merupakan operator yang digunakan untuk operasi aritmatika.
2. Operator Penugasan, merupakan operator yang berfungsi memberikan penugasan pada
variabel tertentu. Operator ini menggunakan simbol sama dengan (=) untuk mengisi nilai
dalam sebuah variabel.
3. Operator Pembanding, merupakan operator yang digunakan untuk membandingkan dua
buah nilai (elemen). Nilai yang dihasilkan dari penggunaan operator ini adalah nilai bertipe
boolean yaitu true atau false.
4. Operator Logika, merupakan operator yang digunakan untuk menguji satu atau lebih
operand yang bertipe boolean. Hasil dari operasi menggunakan operator ini adalah nilai
bertipe boolean, yaitu true atau false.
33
Tabel 4.1. Operator pada Java
34
Operator Logika
Logika AND (Memberikan a<3&&b>8
&& nilai true jika pemyataan a dan
pemyataan b benar)
Logika OR (Memberikan nilai a= 0 || b > 9
|| true jika pemyataan a atau
pemyataan b benar)
Logika NOT (Membalikkan !(a>= 5)
! nilai pemyataan, membalikkan
nilai true iika pemyataan
bemilai false)
Hasil
Tipe data adalah pengelompokan data berdasarkan isi dan sifartnya.Dalam bidang
informatika,tipe data adalah jenis data yang dapat di olah oleh komputer untuk memenuhi
kebutuhan dalam pemrograman komputer.Sebutkan dan Jelaskan penggolongan dalam tipe
data!
36
- Tipe data bentukan atau tipe data komposit adalah tipe data yang dibentuk dari tipe data dasar
dengan maksud mempermudah pekerjaan programer. Yang masuk dalam tipe data bentukan
adalah array, string. record, union, struct, dan lain-lain.
- Tipe data abstrak (Abstract Data Type) Tipe data abstrak atau yang dikenal sebagai Abstract
Data Type adalah model matematika dari obyek data yang menyempurnakan tipe data dengan
cara mengaitkannya dengan fungsi-fungsi yang beroperasi pada data yang bersangkutan. Tipe
data abstrak adalah tipe data yang didefinisikan sendiri oleh pemrogram untuk suatu keperluan
tertentu yang tidak memungkinkan untuk mendeklarasikan dari tipe data yang sudah ada.
3. Apa yang dimaksud dengan struktur data?
Struktur data adalah cara penyusunan dan pengorganisasian data dalam komputer untuk
memudahkan proses penyimpanan, pengaksesan, dan manipulasi data. Struktur data
menentukan bagaimana data disimpan, diakses, dan diolah dalam program komputer.
Apakah beda antara konstanta dan variabel? Berikan penjelasannya!
4. Apakah beda antara konstanta dan variabel? Berikan penjelasannya!
Beda, karena konstanta digunakan untuk nilai tetap, sedangkan variabel untuk nilai berubah.
37
Bab 5
Struktur Dasar Algoritma
Pokok Bahasan
1. Struktur dasar algoritma runtutan
2. Struktur dasar algoritma percabangan / pemilihan
Tujuan Pembelajaran
1. Mampu menjelaskan jenis struktur dasar algoritma
2. Mampu mengaplikasikan berbagai struktur dasar algortima
3. Mampu memahami pernyataan seleksi dalam java dengan menggunakan IF dan dapat
menyelesaikan masalah yang berkaitan dengan seleksi IF
Algoritma adalah jantung dari pemrograman. la adalah serangkaian instruksi yang jelas dan
terbatas untuk menyelesaikan masalah atau mencapai tujuan tertentu. Struktur dasar algoritma adalah
fondasi yang membantu kita menganalisis, merancang, dan menjalankan algoritma dengan lebih
mudah. Terdapat tiga Struktur Dasar Algoritma: Runtutan, Pemilihan, dan Pengulangan.
// Menampilkan hasil
System.out.println("Luaspersegipanjangadalah:" + luas);
input.close();
}
}
Keuntungan Algoritma Runtutan:
- Mudah dipahami dan diimplementasikan: Struktur sederhana membuatnya mudah dipelajari
dan diterapkan.
- Efisien untuk tugas-tugas sederhana: Cocok untuk tugas yang memerlukan langkah-langkah
38
sederhana dan berurutan.
Kekurangan Algoritma Runtutan:
- Tidak fleksibel: Hanya dapat melakukan satu tugas pada satu waktu, tidak bisa bercabang
atau berulang.
- Tidak efisien untuk tugas kompleks: Untuk tugas yang lebih kompleks, struktur ini bisa
menjadi rumit dan sulit dikelola.
-
5.2. Struktur Algoritma Pemilihan/Percabangan
Struktur percabangan/pemilihan adalah struktur program yang digunakan untuk melakukan
proses pengujian terhadap satu, dua atau lebih dari dua kondisi. Pemilihan statement-statement atau
perintah-perintah yang akan di jalankan didasarkan atas kondisi tertentu. Statemen atau perintah
tertentu akan dijalankan apabila memenuhi ketentuan yang telah didefinisikan sebelumnya.
Pernyataan seleksi pada struktur algoritma percabangan menggunakan IF. Terdapat 3 bentuk
percabangan/pemilihan yaitu : Pemilihan Tunggal, Pemilihan Ganda, dan Pemilihan Majemuk.
5.2.1 If Kondisi Tunggal
Bentuk yang pertama adalah IF dengan satu pilihan. Bentuk umumnya adalah sebagai berikut.
If (kondisi)
Pernyataan;
Keterangan :
1. Kondisi digunakan untuk menentukan pengambilan keputusan. Jika kondisi bernilai
benar, maka pernyataan dikerjakan.
2. Pernyataan, berisi perintah-perintah dan akan dijalankan jika kondisi bernilai benar.
Pernyataan disini bisa berupa pernyataan tunggal maupun majemuk.
Contoh soal:
Buatlah program dan deskripsi algoritma untuk menampilkan output "Bilangan Ganjil".
Pseudocode Flowchart
//deklarasi variable
bil : integer;
//input
Masukkan Bilangan(bil)
//proses
if (bil%2>0)
//output
Tampilkan(bil=Bilangan Ganjil)
39
11. }
12. }
Penjelasan Program:
1. Memanggil library java.util dari class Scanner yang menyediakan method input atau output.
2. Nama class program yang diubah adalah if Tunggal
3. Awal blok dari class if Tunggal
4. Method utama untuk mengimplementasikan class if Tunggal
5. Awal blok dari method main ()
6. Mengimplementasikan class Scanner untuk mendapatkan method input data dari keyboard:
Scanner (System.in)
7. Memperkenalkan atau menginisialisasi variabel: Bil, dengan tipe: Integer
8. Menampilkan keterangan dialog input: “Masukkan Bilangan: “
9. Menyimpan data yang dimasukkan dari keyboard ke dalam variabel: Bil. Dengan catatan,
data yang dimasukkan harus angka bilangan bulat, karena inisialisasi bertipe Integer
10. Melakukan seleksi, apakah bilangan jika di modulus hasilnya lebih dari 0
11. Awal blok menampilkan output untuk statement if jika kondisi benar
12. Menampilkan dengan format “Angka ini adalah Bilangan Ganjil”
13. Akhir blok menampilkan output untuk statement if jika kondisi benar
14. Akhir blok method main ()
15. Akhir dari blok class if Tunggal
Hasil
Penjelasan:
Pada program diatas terlihat pada tampilan hasil, program akan meminta pengguna
memasukkan/input angka, berdasarkan angka yang di input program melihat kondisi terpenuhi atauu
tidak, jika kondisi terpenuhi (true) maka program akan menampilkan “Angka ini adalah Bilangan
Ganjil”, tetapi apabila kondisi tidak terpenuhi (false) sebagai contoh seperti gambar di sisi Kankan
angka di input bilangan genap, maka program akan selesai tanpa menghasilkan atau tidak
menampilkan hasil.
40
5.2.2. If Kondisi Ganda
Digunakan untuk membuat percabangan yang sesuai dengan kondisi yang diinginkan. Percabangan
if Kondisi ganda biasanya dikenal dengan if-else yang digunakan hanya untuk 2 percabangan. Bentuk
umumnya adalah sebagai berikut:
If (kondisi)
{ pernyataan1; }
Else
{ pernyataan2; }
Contoh soal:
Buatlah program da deskripsi algoritma untuk mencari suatu Bilangan Ganjil atau Genap
Pseudocode Flowchart
//deklarasi variable
bil: integer;
Masukkan Bilangan (bil)
//proses
If(bil%2=0)
//output
Tampilkan (bil=Bilangan Genap)
Else
Tampilkan (bil=Bilangan Ganjil)
41
System.out.print("Masukkan Bilangan = ");
bil = input.nextInt();
if (bil%2 == 0){
System.out.println("Angka ini adalah Bilangan
Genap");
}
else
{
System.out.println("Angka ini adalah Bilangan
Ganjil");
}
}
}
Penjelasan Program:
1. Memanggil library java.util dari class Scanner yang menyediakan method input atau output.
2. Nama class program yang dibuat adalah If Ganda
3. Awal blok dari class If Ganda
4. Method utama untuk mengimplementasikan class If Ganda.
5. Awal blok dari method main ().
6. Mengimplementasikan class Scanner untuk mendapatkan method input data dari keyboard
Scanner (System.in).
7. Memperkenalkan atau menginisialisasi variabel: Bil, dengan tipe:lnteger.
8. Menampilkan keterangan dialog input: “Masukan Bilangan:
9. Menyimpan data yang dimasukan dari keyboard ke dalam variabel: Bil. Dengan catatan, data
yang dimasukan harus angka bilangan bulat, karena inisialisasi bertipe Integer.
10. Melakukan seleksi, apakah bilangan jika di modulus hasilnya sama dengan 0.
11. Awal blok menampilkan output untuk statement ifjika kondisi benar
12. Menampilkan output dengan format “Angka ini adalah Bilangan Genap”.
13. Akhir blok menampilkan output untuk statement ifjika kondisi benar
14. Statement else untuk kondisi salah
15. Awal blok menampilkan output untuk statement if jika kondisi salah
16. Menampilkan output dengan format “Angka ini adalah Bilangan Ganjil”.
17. Akhir blok menampilkan output untuk statement ifjika kondisi salah
18. Akhir dari blok method main ()
19. Akhir dari blok class If Ganda.
Hasil:
Penjelasan:
Program di atas struktur if....else akan mengeksekusi program jika kondisi terpenuhi (true) atau
tidak terpenuhi (false). Sama dengan program sebelumnya pertama-tama program akan meminta
pengguna memasukkan/input angka, berdasarkan angka yang di input program melihat kondisi
terpenuhi atau tidak, jika kondisi terpenuhi (true) maka Program akan menampilkan ''Angka ini
Adalah Bilangan Genap”, dan apabila kondisi tidak terpenuhi (false) maka program akan
menampilkan “Angka ini Adalah Bilangan Ganjil”
42
5.2.3. If Kondisi Majemuk
Kondisi percabangan If Kondisi Majemuk merupakan jenis pengujian atau seleksi yang
memiliki lebih dari dua kondisi, dan masing-masing kondisi yang bernilai true, memiliki blok
pernyataan yang unik dan berbeda satu sama lain.
If (kondisi)
{ pernyataan1; }
Else if
{ pernyataan2; }
Else if
{ pernyataan3; }
Else if
{ pernyataanN; }
Else
{ pernyataanX; }
Penjelasan:
Contoh program if-else-if di atas terdiri dari tiga kondisi. Pertama pengguna diminta
memasukkan satu Angka, selanjutnya statement ifakan menguji kondisi pertama yaitu (Angka> 0).
Jika kondisi pertama bernilai true maka program akan menampilkan keterangan "adalah Bilangan
Positif ", jika tidak program akan menguji kondisi kedua yaitu "Bilangan< 0", jika kondisi kedua
terpenuhi maka program akan menampilkan keterangan "adalah Bilangan Negatit', jika kondisi
kedua bernilai false atau tidak terpenuhi, maka program akan menampilkan keterangan "adalah
Bilangan Nol"
44
Switch (ungkapan)
{
Case ungkapan1:
Pernyataan1;
Break;
Case Ungkapan2;
Pernyataan2;
Break;
............
default:
Pernyataan x;
}
Berikut diagram alir Switch Case: Gambar 5.3 Diagram alir Switch Case
Keterangan:
1. ungkapanl, ungkapan2 dan seterusnya dilakukan secara berurutan dimulai dari yang pertama,
sekiranyanya cocok pern4----------------------------------------------iiiiiyataan yang mengikuti
case dijalankan.
2. break ditemukan dari eksekusi pernyataan switch berakhir
3. default hanya akan dijalankan jika ungkapan pada bagian case tidak ada yang cocok.
Contoh soal
Buatlah flowchart, dan program java, untuk melakukan proses penyeleksian input kode Program
Studi, kemudian menampilkan kode Program Studi, Nama Program Studi.
45
//inisialisasi variabel
int kd;
String kodeprodi;
String namaprodi;
47
2. Buat program untuk mengetahui inputan user
Contoh:
Masukkan Inputan Anda : A
Hasil → Anda menginputkan huruf kapital
Masukkan Inputan Anda : b
Hasil → Anda menginputkan huruf biasa
Masukkan Inputan Anda : 12
Hasil → Anda menginputkan bilangan genap
Pemrograman java:
import java.util.Scanner;
System.out.println(cekInputan(inputan));
}
48
3. Buat program untuk mengetahui waktu dengan syarat
Pukul 00.01 – 10.00 adalah pagi
Pukul 10.01 – 15.00 adalah siang
Pukul 15.01 – 18.00 adalah sore
Pukul 18.01 – 24.00 adalah malam
Contoh: (jam saat ini pukul 08.00)
Masukkan Nama Anda : Joni
Output: “Selamat Pagi Joni”
. Pemrograman java:
import java.util.Scanner;
Hasil:
50
Bab 6
Struktur Dasar Algoritma (Lanjutan)
Pokok Bahasan
1. Struktur dasar algoritma pengulangan
Tujuan Pembelajaran
1. Mampu menjelaskan jenis pengulangan
2. Mampu mengaplikasikan berbagai struktur pengulangan
3. Mampu memahami pernyataan seleksi dalam java dengan menggunakan struktur
pengulangan
Pengulangan atau disebut sebagai looping adalah intruksi khusus dalam Bahasa
pemrograman dan algoritma yang digunakan untuk mengulang beberapa perintah sesuai dengan
jumlah yang telah ditentukan. Tujuannya adalah untuk mempermudah pengerjaan program dan untuk
mempersingkat intsruksi program. Dalam Bahasa pemrograman Java, terdapat tiga bentuk
pengulangan, yaitu For, While, dan Do-While.
Pada masing-masing Bahasa pemrograman mempunyai sintak untuk struktur pengulangan,
tetapi secara garis besar struktur perulangan mempunyai aturan yang harus dipenuhi, yaitu:
1. Inisialisasi adalah Langkah persiapan untuk mengulang kondisi awal sebuauh baris, seperti
memasukkan nilai awal dalam variabel. Fase ini berjalan sebelum memasuki bagian
pengulangan.
2. Proses berjalan di dalam pengulangan yang berisi semua proses yang perlu dijalankan berulang
kali.
3. Literasi terjadi di dalam pengulangan, ini merupakan sebuah kondisi tambahan untuk
melanjutkan pengulangan agar bisa terus berjalan.
4. Terminasi adalah kondisi untuk berhenti dari sebuah pengulangan, kondisi berhenti sangat
penting untuk pengulangan, menghindari pengulangan tanpa batas. Kondisi pengulangan adalah
kondisi yang harus dipenuhi oleh algoroitma yang sedang berjalan untuk memasuki blok
perulangan.
//proses
51
for(int i=0;I <= 10;i++)
//output
Tampilkan( i )
Penjelasan:
Program diatas digunakan untuk menampilkan angka 5 sampai dengan 25. Perhatikan potongan
program berikut: for (int i=5; i<=25; i+=) terlihat variabel yang digunakan adalah i
yang bertipe data integer (int) yang dimulai dari 5 sampai dengan i<=25 dan angka yang ditampilkan
bertambah sebanyak 5 (+=5).
52
6.1.1 Nested For
Nested For atau for bersarang adalah bentuk dimana pada pengulangan terdapat
pengulangan. Contoh pengulangan ini dapat kita gunakan untuk menmapilkan pola tertentu,
perhatikan contoh program dibawah ini yang akan menampilkan pola segitiga bintang.
Kode program java:
1. public class Pengulanganfor3 {
2. public static void main (String[]args){
3. System.out.println("Pengulangan Menggunakan Nested For");
4. System.out.println("========================");
5. System.out.println();
6. int i, j, k;
7. for (i=1; i<=10; i++){
8. for (j=10; j>i; j--){
9. System.out.print(" ");
10. }
11. for (k=1; k<(2*i); k++){
12. System.out.print("*");
13. }
14. System.out.println();
15. }
16. }
17. }
Hasil:
While (kondisi){
Pernyataan;
}
Keterangan:
1. Bagian pernyataan akan dieksekusi selama kondisi dalam while bernilai benar.
2. Pengujian terhadap kondisi pada while dilakukan sebelum bagian pernyataan.
3. Kemungkinan pernyataan pada while tidak dijalankan, jika kondisi bernilai salah.
53
contoh soal pengulangan while
Buatlah algoritma dan program untuk menampilkan nilai dari 1 sampia 10 dengan menggunakan
pengulangan.
while
Pseudocode
Algoritma
Menampilkan nilai
//deklarasi variable
i=1 : integer;
//proses
while (i <= 10)
//output
Tampilkan( i )
i++
Kode Program Java
1. public class pengulanganwhile{
2. public static void main (String[] args){
3. System.out.println("Pengulangan menggunakan While");
4. System.out.println("=============================");
5. int i=1;
6. while(i<=10){
7. System.out.println(i);
8. i++;
9. }
10. }
11. }
Hasil:
Penjelasan:
Program diatas hamper sama dengan program perulangan for yang pertama, dimana angka
awal dan akhir telah ditentukan pada program, yaitu untuk menampilkan angka 1 sampai dengan 10.
54
While");
System.out.println("===================================")
;
int i=1, j, k, l;
while(i<=10){
j=10-1;
while(j>=1){
System.out.print(" ");
j--;
}
k=1;
while(k<=1){
System.out.print("*");
k++;
}
l=1;
while(l<=i-1){
System.out.print("*");
l++;
}
i++;
System.out.println();
}
System.out.print("");
}
}
Hasil:
Penjelasan:
Program di atas menggunakan nested while yang hampir sama dengan nested for. Program
digunakan untuk menampilkan pola bintang sebanyak 10 baris. Terlihat pada Statement While
pertama digunakan untuk mengatur jumlah baris dan spasi, kemudian statement while kedua untuk
mengatur spasi atau baris kosong. Statement While ketiga dan keempat untuk mencetak pola bintang
dan spasi.
55
............
Pernyataan_N;
}
While (kondisi)
Keterangan:
System.out.println("==================================");
int i=10;
do{
System.out.println(i);
i-=1;
}
while(i>=1);
}
}
Hasil:
Penjelasan:
Program ini digunakan untuk menampilkan angka dari besar ke kecil. Angka yang akan
ditampilkan telah ditentukan. Pada awal program telah dideklarasikan variabel I bertipe data integer
dan telah diberi nilai = 10. Selanjutnya terdapat perintah do yang akan menjalankan statement yang
ada pada blok program, yaitu:
System.out.println(i);
i-=1;
menampilkan angka i, kemudian I akan dikurangi dengan 1. Pada bagian akhir program akan menguji
kondisi yang ada yaitu selama i lebih besar atau sama dengan 1.
While(i>=1);
System.out.println("==================================");
int i=10, j;
do{
j=i;
do{
System.out.print("*"+" ");
--j;
}
while(j>=1);
--i;
System.out.println();
}
while(i>=1);
}
}
Hasil:
Penjelasan:
Program di atas digunakan untuk menampilkan pola bintang dengan cara menurun, jumlah
bintangnya sesuai dengan kebalikan barisnya. Pertama pola bintang akan menampilkan sebanyak 10
dan akan menurun/berkurang menjadi sebanyak 9 di baris selanjutnya, dan berkurang satu untuk
baris-baris selanjutnya, sampai dengan baris terakhir atau baris ke 10 hanya ada satu bintang.
2. Buatlah program pengulangan menggunakan while untuk menampilkan teks dan angka
pengulangan dari 5 sampai 25 dengan step 5.
Jawaban Latihan Soal:
1. Flowchart
57
Programan java:
import java.util.Scanner;
2. Pemrograman java
public class PengulanganWhile {
public static void main(String[] args) {
int i = 5;
while (i <= 25) {
System.out.println("Pengulangan ke-" + i);
i += 5;
}
}
}
Hasil:
59
Bab 7
Array
Pokok bahasan
1. Variabel Array
Tujuan Pembelajaran
1. Mampu memahami array satu, dua, dan tiga dimensi
2. Mampu mengaplikasikan array ke dalam program java
Array atau larik adalah koleksi data dimana setiap elemen memakai nama yang sama dan
bertipe sama dan setiap elemen diakses dengan membedakan indeks arraynya. Array merupakan
sebuah variabel yang menyimpan lebih dari I buah data yang memiliki tipe data yang sama. Jadi
dapat dikatakan bahwa array merupakan kumpulan dari data-data tunggal yang dijadikan dałam 1
variabel array yang alamat memorinya berbeda yang selanjutnya disebut elemen-elemen array yang
bisa kita akses berdasarkan indeks.
Program yang kompleks memerlukan banyak variabel sebagai inputannya. Kita bisa saja
mendeklarasikan variabel—variabel tersebut satu persatu sesuai dengan jumlah yang kita butuhkan.
Misalkan kita membutuhkan 5 (lima) variabel bertipe int, kita bisa menuliskannya dengan cara :
int a, b, c, d, e;
Variabel Array
elemen array elemen array elemen array elemen array elemen array
data
Data 1 Data 2 Data 3 . . . Data n
indeks---> 0 1 2 3 n-1
Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen pada suatu variabel
array. Karena seluruh kotak memiliki nama yang sama, maka untuk membedakannya diperlukan
suatu cara yaitu dengan memberi nomor urut. Ibarat deretan rumah pada sebuah jalan, untuk
membedakan antara rumah yang satu dengan rumah yang lain maka setiap rumah diberi nomor unik
yang berbeda antara rumah satu dengan rumah lainnya.
Nomor indeks variabel array selalu dimulai dari 0 (nol), sehingga nomor indeks bagi elemen
terakhir adalah sebesar (N-l), dimana N adalah jumlah total elemen. Kita bisa mengakses setiap
elemen dałam variabel array dengan mengacu pada nomor indeksnya. Awalan nol untuk nomor
indeks array sering menimbulkan kerancuan bagi kita yang terbiasa dengan awalan angka l.
Array mempunyai beberapa jenis seperti array 1 dimensi, array 2 dimensi dan array
3D/multidimensi, dimana masing-masing array tersebut memiliki fungsi yang berbeda dałam
penggunaannya. Array I dimensi disebut dengan vektor, array 2 dimensi sering disebut sebagai
matriks sedangkan array 3D disebut dengan tensor.
60
Ada beberapa cara untuk mendeklarasikan variabel array, yaitu:
1. Mendeklarasikan variabel array tanpa menyebutkan berapa jumlah elemen yang diperlukan.
Tipe [ ] variable;
Contoh
int [ ] angka; atau int angka [ ]
Artinya menyiapkan deklarasi array angka bertipe integer di awal program, dimana panjang array
dan data array belum dinyatakan. Variabel angka kita deklarasikan sebagai variabel array dimana
setiap elemennya akan menyimpan data bertipe int tetapi kita belum bisa menggunakannya sebelum
kita menyebutkan berapa jumlah elemen yang diperlukan.
2. Memesan jumlah elemen yang kita perlukan kita tuliskan
Contoh :
Int [ ] angka - new int [8] ; atau int angka [ ] = new int [8];
Artinya Variabel angka kita deklarasikan sebagai variabel array dimana setiap elemennya akan
menyimpan data bertipe int. Pada saat mendeklarasikan array angka bertipe integer di awal program
ini, sekaligus menyiapkan ruang memori 8 elemen array yang kita perlukan.
3. Mendeklarasikan variabel array secara otomatis
Tipe [ ] variable ={data-1, data-2, ...data-n}
Contoh :
Int [ ] angka = {7, 12, 15, 20, 22, 24, 29, 31};
atau
int angka [ ]7, 12, 15, 20, 22, 24, 29, 31};
Artinya menyiapkan deklarasi array angka bertipe integer sekaligus memasukan data secara
langsung. Kita tidak menyebutkan berapa elemen yang kita pesan tetapi kita langsung menyebutkan
isi data dari elemen array tersebut.
Contoh soal:
Buatlah program array 1 dimensi untuk menghitung jumlah, rata - rata serta niai terbesar dan
terkecilnya!
import java.util.Scanner;
public class Array1dimensi{
public static void main(String[] array1dimensi){
Scanner masuk=new Scanner(System.in);
float jumlah,rata,maks,min;
// deklarasi array 1 dimensi
float nilai[]=new float[5];
System.out.println("Masukkan 5 nilai");
for(int i=0; i<5; i++) {
System.out.print("Data ke " + (i+1) + ": ");
nilai[i]=masuk.nextFloat();
}
Elemen array elemen array elemen array elemen array elemen array
o
o
Susunan angka diatas menunjukkan matriks berdimensi 7 x 4, artinya terdiri dari 7 baris dan
4 kolom. Dalam pengisian array 2 dimensi dapat dilakukan dengan dua cara yaitu baris per baris
(row major order) dan kolom per kolom (colomn major order). Sebagai variabel dalam algoritma,
array 2 dimensi dideklarasikan dengan bentuk umum seperti berikut ini:
1. Int [ ] [ ] A; atau A [ ] [ ] ;
Artinya menyiapkan deklarasi array A dua dimensi bertipe integer di awal program, dimana panjang
array dan data array belum dinyatakan.
2. Int[][] A = new int[2][4]; atau int A[][]=new int [2][4];
Menyiapkan deklarasi array A dua dimensi bertipe integer di awal program sekaligus menyiapkan
ruang memori sebanyak dua baris, dan masing-masing baris tersedia 4 kolom (2x4).
A [x] [y] 0 1 2 3
A[0][0]=0; A[0][1]=0; 0 0 0 0 0
A[0][2]=0; A[0][3]=0;
A[1][0]=0; A[1][1]=0; 1 0 0 0 0
A[1][2]=0; A[1][3]=0;
3. Int A[][]={{7,12,15,20}, {22,24,29,31}};
Artinya menyiapkan array A dua dimensi bertipe integer, sekaligus memasukan data secara langsung
di dalam program.
A [x] [y] 0 1 2 3
A[0][0]=7; A[0][1]=12; 0 7 12 15 20
A[0][2]=15; A[0][3]=20;
A[1][0]=22; A[1][1]=24; 1 22 24 29 31
A[1][2]=29; A[1][3]=31;
Contoh soal:
Buatlah program dengan menggunakan array 2 dimensi untuk menyimpan 5 data mahasiswa yaitu
berupa NIM, Nama dan Jurusan. (Note : hati-hati dengan kode program..!)
import java.util.Scanner;
public class array2dimensi
{
public static void main (String [] array2dimensi)
{
String [][] data =new String[11][4];
for (int i=1; i<=10; i++)
{
System.out.println("Masukkan data ke : "+i);
63
for (int j=1; j<=3; j++)
{
if(j==
{
System.out.println("Masukkan data ke : "+i);
for (int j=1; j<=3; j++)
{
if(j==1
{
System.out.print("Masukkan NIM : ");
data [i][j] = new Scanner(System.in).next();
}
else if(j==2)
{
System.out.print("Masukkan Nama : ");
data [i][j] = new Scanner(System.in).next();
}
else if(j==3)
{
System.out.print("Masukkan Jurusan : ");
data [i][j] = new Scanner(System.in).next();
}
}
}
System.out.println();
System.out.println("===========================================");
System.out.println("NIM\tNama\tJurusan");
System.out.println("===========================================");
for (int i=1; i<=10; i++)
{
for (int j=1; j<=3; j++)
{
System.out.print(data[i][j]+"\t");
}
System.out.println("");
}
}
}
64
Hasil:
65
{1,2,3}, // baris ke-0
{4,5,6}, // baris ke-1
{7,8,9} // baris ke-2
},
{
{10,11,12}, // baris ke-3
{13,14,15}, // baris ke-4
{16,17,18} // baris ke-5
},
{
{19,20,21}, // baris ke-6
{22,23,24}, // baris ke-7
{25,26,27} // baris ke-8
}
}; // kurung kurawa array penutup
Hasil:
66
Latihan Soal
1. Buat program untuk mencetak bintang seperti contoh berikut:
Input :3 Input :5
Output: *** Output:******
* * * *
*** * ** *
* ** *
* *
******
Input :4 Input :6
Output: **** Output: ******
* * * *
* * * ** *
**** * ** *
* *
******
import java.util.Scanner;
scanner.close();
}
}
67
Hasil
2. Buatlah sebuah program untuk melakukan operasi matrix, dimulai dari menginputkan dimensi
matrix, mengisi matrix, penjumlahan matrix, perkalian matrix dan transpose matrix!
import java.util.Scanner;
// Penjumlahan matriks
int[][] sumMatrix = addMatrices(matrix1, matrix2);
System.out.println("Hasil penjumlahan matriks:");
printMatrix(sumMatrix);
// Perkalian matriks
if (cols == rows) {
int[][] productMatrix = multiplyMatrices(matrix1, matrix2);
System.out.println("Hasil perkalian matriks:");
printMatrix(productMatrix);
} else {
System.out.println("Perkalian matriks tidak dapat dilakukan,
dimensi tidak sesuai.");
68
}
scanner.close();
}
69
System.out.println();
}
}
}
Hasil:
70