Program Array Segitiga Menggunakan Java dan Android Studio
Disusun oleh : A. A. Gde A. Aditya Pratama (50414002) Alfonsius Krisnanda (50414827) Christian (52414379) Emirza Mahendra (53414559) Fuad Aji Pratomo (54414397) Hasan El Jabir (54414837) Oktaviana Prasetyanti (58414333) Singgih Aji Prasetyo (5A414397)
KELAS 2IA01 FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS GUNADARMA
KATA PENGANTAR
Puji dan syukur kami panjatkan kehadirat Tuhan yang Maha Esa, karena limpahan rahmat dan karunia-Nya ,kami dapat menyelesaikan penyusunan makalah Program Array Segitiga Menggunakan Java dan Android Studio. Adapun tujuan penyusunan makalah ini guna melengkapi nilai mata Struktur Data yang merupakan salah satu Bidang Studi yang penting. Pada kesempatan ini, kami ucapkan terimakasih kepada seluruh pihak yang telah membantu dalam proses penyelesaian, terutama kepana dosen pengajar yang Makalah ini, baik secara langsung maupun tidak langsung. Semoga makalah ini bermanfaat untuk memberikan kontribusi kepada mahasiswa lain dan juga pembaca sebagai acuan agar dapat mengetahui tentang Program Array Segitiga Menggunakan Java dan Android Studio. Kami menyadari penulisan makalah ini masih jauh dari kesempurnaan, karena itu segala saran dan kritik pembaca saya harapkan guna perbaikan dan penyempurnaan makalah ini di masa mendatang.
Tim Penyusun
ii
DAFTAR ISI KATA PENGANTAR .................................................................................... ....... ii DAFTAR ISI ................................................................................................. ...... iii
BAB I. PENDAHULUAN .................................................................... ...... 1 1. LATAR BELAKANG ....................................................................................... 1 2. RUMUSAN MASALAH .................................................................................. 1 3. RUANG LINGKUP ........................................................................................ 1 4. TUJUAN ....................................................................................................... 1 5. METODE PENULISAN ................................................................................. 2
BAB II. PEMBAHASAN ..................................................................... ...... 3 1. PENGERTIAN ................................................................................................. 3 2. KARAKTERISTIK ARRAY ............................................................................... 3 2.1. DEKLARASI ARRAY ................................................................................. 3 2.2. JENIS ARRAY ........................................................................................... 4 2.3. OPERASI DASAR PADA ARRAY .............................................................. 6 2.4. PENGURUTAN ARRAY ............................................................................. 8 3. KEUNGGULAN DAN KELEMAHAN ARRAY ................................................... 9 4. SEKILAS TENTANG ANDROID STUDIO ....................................................... 10 5. FLOWCHART ................................................................................................. 11 6. OUTPUT .......................................................................................................... 13 7. LISTING PROGRAM ...................................................................................... 18
BAB III. PENUTUP ............................................................................. ..... 50 1. KESIMPULAN .............................................................................................. 50 2. SARAN ........................................................................................................ 50 iii
DAFTAR PUSTAKA ........................................................................... ..... 51
iv
BAB I PENDAHULUAN 1. LATAR BELAKANG
Dengan adanya kemajuan teknologi di dunia ini akal pikiran mannusia semakin mahir dalam menciptakan sesuatu yang bermanfaat bagi kehidupan mereka, salah satunya dalam pembuatan program – program yang sangat membantu mereka dalam menyelesaikan pekerjaan mereka dengan cepat, baik, dan memuaskan, maka dari itu penulis menuyusun makalah mengenai array yang merupakan salah satu dari kemajuan zaman yang betul – betul terkihat manfaatnya. Array bisa juga disebut sebagai salah satu program yang terlahir di dunia teknologi lewat pola pikir manusia yang bermanfaat uuntuk menyelesaikan suatu penghitungan.
2. RUMUSAN MASALAH
a. Apa yang dimaksud dengan Array? b. Apa saja jenis-jenis Array? c. Apa saja operasi-operasi dasar pada Array? d. Pembuatan program Array menggunakan Android Studio
3. RUANG LINGKUP
Array adalah struktur data sederhana yang terbagi menjadi array dimensi satu, array dimensi dua, array dimensi tiga, array triangular dan sparse array. Disini penulis memberikan ruang lingkup bahasan pada array triangular.
4. TUJUAN PENGGUNAAN ARRAY
Tujuan penggunaan array adalah sebagai wadah berkumpulnya nilainilai yang bertipe sama atau untuk menyimpan berbagai jenis data seperti integer, float, char dan lain-lain agar menjadi satu kesatuan, sehingga 1
mempermudah pengelompokan nilai-nilai dan dalam penulisan script menjadi script yang terstruktur dan rapi.
Tujuan Pembelajaran a. Setelah mempelajari materi array mahasiswa diharapkan dapat memahami definisi array itu sendiri. b. Memahami penggunaan array dalam program yang di buat. c. Memahami penerapan secara benar dalam penguasaan materi array itu sendiri.
5. METODE PENULISAN Dalam proses penyusunan makalah ini menggunakan motede heuristik. Metode heuristik yaitu proses pencarian dan pengumpulan sumber-sumber dalam melakukan kegiatan penelitian. Metode ini dipilih karena pada hakekatnya sesuai dengan kegiatan penyusunan dan penulisan yang hendak dilakukan.Selain itu, penyusunan juga menggunakan studi literatur sebagai teknik pendekatan dalam proses penyusunannya.
2
BAB II PEMBAHASAN 1. PENGERTIAN Array atau larik di definisikan sebagai pemesanan alokasi memory berurutan.definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya.
Memang
benar
array
hampir
selalu
di
implementasikan
menggunakan memory berurutan tapi tidak selalu demikian. Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.
2. KARAKTERISTIK ARRAY a) Mepunyai batasan dari pemesanan alokasi memori (bersifat statis) b) Mempunyai tipe data sama (bersifat homogen) c) Dapat diakses secara acak.
2.1. DEKLARASI ARRAY Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu : a) Type data array b) Nama variable array c) Subkrip / index array. Contoh deklarasi dari array adalah sebagai berikut : int A[5] ; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.
3
2.2. JENIS ARRAY 1. ARRAY DIMENSI SATU Deklarasi
: Type_Data Nama_Variabel [index]
Rumus untuk menentukan jumlah elemen dalam array adalah : n (Index Array) i=1
= Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga). PEMETAAN (MAPPING) ARRAY DIMENSI SATU KE STORAGE Rumus
: @A[i] = B + (i – 1) * L
Dimana
: @A[i]
: Posisi array yang dicari
B
: Posisi awal index di memori computer
i
: Subkrip atau index array yang di cari
L
: Ukuran atau besar memori suatu tipe data
2. ARRAY DIMENSI DUA Deklarasi
: Type_Data Nama_Variabel [index1] [index2]
Menentukan jumlah elemen dalam array dimensi dua : n (Index Array) i=1
= Perkalian dari statemen sebelumnya
4
PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE Terbagi dua cara pandang (representasi) yang berbeda :
Secara kolom per kolom (coloumn major order / CMO) @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L
Secara baris per baris (row major order / RMO) @M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L
Keterangan
:
@M[i][j] = Posisi array yang di cari, M[0][0 = Posisi alamat awal index array, i = Baris, j = Kolom, L = Ukuran memory type data, K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris.
3. ARRAY DIMENSI TIGA Deklarasi
: type_Data Nama_Variabel [index1][index2][index3]
Menentukan jumlah elemen dalam array dimensi tiga : n (Index Array) i=1 = Perkalian dari statemen sebelumnya
PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE
Rumus : @M[n][m][p] = M[0][0][0] + {((n – 1) * (index1)) + ((m – 1) * (index2)) + ((p – 1) * (index3)} * L
5
TRIANGULAR ARRAY (ARRAY SEGITIGA) Triangular array dapat merupakan Upper Triangular (seluruh elemen di bawah diagonal utama = 0), ataupun Lower Triangular (seluruh elemen di atas diagonal utama = 0). Dalam array Lower Triangular dengan N baris, jumlah maksimum elemen <> 0, tidak lebih dari
SPARSE ARRAY (ARRAY JARANG) Suatu array yang sangat banyak elemen nol-nya. Contoh : 00100 00001 10010 00000 Array hanya mempunyai 4 elemen yang bukan 0 dari 25 elemen yang ada
2.3. OPERASI DASAR PADA ARRAY Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung. Nilai di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati posisi-posisi lain.
6
Terdapat dua tipe operasi, yaitu : 1. Operasi terhadap satu elemen / posisi dari array 2. Operasi terhadap array sebagai keseluruhan
Dua operasi paling dasar terhadap satu elemen / posisi adalah 1. Penyimpanan nilai elemen ke posisi tertentu di array 2. Pengambilan nilai elemen dari posisi tertentu di array
Operasi-operasi dasar terhadap array secara keseluruhan adalah : 1. Operasi penciptaan 2. Operasi penghancuran 3. Oparasi pemrosesan traversal 4. Operasi pencarian (table look-up) 5. Operasi sorting
2.3.1. PENCIPTAAN DAN PENGHANCURAN Operasi penciptaan biasa disebut inisialisasi. Operasi ini untuk mempersiapkan struktur data untuk operasi-operasi berikutnya. Operasi
penghancuran
menyatakan
ketidak
berlakuan
struktur
data
atau
membebaskan memory, menyerahkan memory ke manajemen memory agar dapat di pergunakan keperluan lain. Operasi penghancuran penting terutama bila struktur data di implementasikan secara dinamis menggunakan pointer
7
2.3.2. PENYIMPANAN DAN PENGAMBILAN NILAI Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan pengambilan nilai elemen pada posisi tertentu di array. Contoh : A[10] = 78, berarti penyimpanan nilai 78 ke posisi ke-10 dari array A C = A[10], berarti pengambilan nilai elemen posisi ke-10 dari array A
2.3.3. PEMROSESAN TRANSVERSAL Operasi pemrosesan transversal adalah pemrosesan mengolah seluruh elemen secara sistematik.
2.3.4. PENCARIAN DI ARRAY (table look-up) Pencarian di array (table look-up) adalah proses pencarian suatu nilai di array. Klasifikasi pencarian di array adalah : 1) Pencarian sekuen (sequential searching),yaitu: ii.
iii.
Tanpa Boolean, terbagi:
Tanpa sentinen
Dengan sentinen
Menggunakan boolean
2) Pencarian secara biner / dikotom (binary = dichotomy searching).
2.4. PENGURUTAN ARRAY Pengurutan atau sorting adalah proses yang paling sering di lakukan dalam pengolahan data.pengurutan di bedakan menjadi dua, yaitu : a. Pengurutan internal Pengurutan dilakukan terhadap sekumpulan data di media memory internal komputer dimana data dapat di akses elemennya secara langsung.
8
b. Pengurutan eksternal Pengurutan data di memory sekunder. Biasanya data bervolume besar sehingga tidak mampu dimuat semuanya di memori utama.
3. KEUNGGULAN DAN KELEMAHAN ARRAY Keunggulan array adalah sebagai berikut : 1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain. 2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemenelemen tetangga, baik elemen pendahulu atau elemen penerus 3 3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga, maka penggunaan penyimpanannya sangat efisien. Kelemahan array adalah sebagai berikut : Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut : 1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain 2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis • Tidak efisien dalam penggunaan memori • Menyiakan banyak waktu komputasi • Pada suatu aplikasi, representasi statis tidak dimungkinkan
9
Bila penambahan dan pengurangan terjadi terus menerus, maka representasi statis (array): 1. Tidak efisien dalam penggunaan memory 2. Menyiakan banyak waktu komputasi 3. Pada suatu aplikasi, representasi statis tidak di mungkinkan.
4. SEKILAS TENTANG ANDROID STUDIO Android Studio adalah IDE resmi untuk pengembangan aplikasi Android, berdasarkan IntelliJIDEA. Diatas kemampuan yang diharapkan dari IntelliJIDEA, Android Studio menawarkan
Fleksibel Gradle berbasis membangun sistem
Membangun varian dan generasi berkas apk beberapa
Kode template untuk membantu membangun fitur aplikasi umum
Layout editor kaya dengan dukungan untuk drag dan tema penurunan editing
Alat Lint untuk menangkap kinerja, kegunaan, versi kompatibilitas, dan masalah lainnya
ProGuard dan aplikasi-penandatanganan kemampuan built-in mendukung untuk Google Cloud Platform, sehingga mudah untuk mengintegrasikan Google Cloud Messaging dan App Engine
Dan banyak lagi
10
5. FLOWCHART
11
12
6. OUTPUT Tampilan awal saat menjalankan aplikasi:
13
1. Berikut ini merupakan tampilan pada Array Tipe 1:
14
2. Berikut ini merupakan tampilan pada Array Tipe 2:
15
3. Berikut ini merupakan tampilan pada Array Tipe 3:
16
17
7. LISTING PROGRAM Berikut ini merupakan Listing program array segitiga pada android studio:Listing
a. Program Segitiga Bawah : package com.example.authority_fu.myapplication;
import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class SegitigaBawah_2 extends AppCompatActivity { Integer i = 0; Integer j = 0; String nilai_order; String hasil_a = ""; String a[][] = new String[7][7]; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_segitiga_bawah_2);
for (int k = 0; k < 7; k++) { 18
for (int l = 0; l < 7; l++) { a[k][l] = "0"; } } Intent intent = getIntent(); Bundle extras = intent.getExtras(); nilai_order = extras.getString("Order_2"); Integer nilai_o = Integer.parseInt(nilai_order); Button label_header = (Button)findViewById(R.id.btnOrderBawah_2); label_header.setText("Array Segitiga Bawah \n Ordo " + nilai_o + "x" + nilai_o); } //Public declaration to proses increment identity of array in TextView// public void proses(int i , int j){ TextView IdentitasBawah_2 = (TextView) findViewById(R.id.txtIdentitasBawah_2); IdentitasBawah_2.setText("Elemen ke [" + (i+1) + "]" + "["+(j+1)+"]"); } public void InputBawah_2(View view) { Integer nilai_o = Integer.parseInt(nilai_order);
//Inisialisasi properties layout EditText InputBawah2 = (EditText) findViewById(R.id.edtInputBawah_2); TextView IdentitasBawah_2 = (TextView) findViewById(R.id.txtIdentitasBawah_2); Button InputB_2 = (Button) findViewById(R.id.btnInputBawah_2); Button HasilB_2 = (Button) findViewById(R.id.btnHasilBawah_2);
//Get value of edit text
19
String E_InputB_2 = InputBawah2.getText().toString(); //Condition if the edittext is blank or not if(E_InputB_2.equals("")){ AlertDialog alertDialog = new AlertDialog.Builder(SegitigaBawah_2.this).create(); alertDialog.setTitle("Error"); alertDialog.setMessage("Masukkan elemen"); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alertDialog.show(); } else{ a[i][j] = E_InputB_2; j++; if (i < nilai_o) { if (j <= i) {
proses(i, j); InputBawah2.setText("");
} else { i++; j=0;
20
proses(i, j); InputBawah2.setText("");
if(i==nilai_o){ InputBawah2.setKeyListener(null); IdentitasBawah_2.setText("Elemen Terpenuhi"); InputB_2.setEnabled(false); HasilB_2.setVisibility(View.VISIBLE); //Logika cetak isi array// for(int c=0; c
21
Intent HasilBawah_tipe2 = new Intent(this, Gabungan_2.class); Bundle extras2 = new Bundle(); extras2.putString("outputbawah_2", hasil_a); extras2.putString("outputatas_2", output_1); extras2.putString("order_1", nilai_order); extras2.putSerializable("array_a_2", passedArrayAtas_2); extras2.putSerializable("array_b_2", a); HasilBawah_tipe2.putExtras(extras2); startActivity(HasilBawah_tipe2); }}
b. Listing Program Segitiga Atas : package com.example.authority_fu.myapplication;
import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class SegitigaAtas_3 extends AppCompatActivity { Integer i = 0; Integer j = 0; String hasil_a = "";
22
String nilai_order; String a[][] = new String[7][7]; String c[][] = new String [7][7];
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_segitiga_atas_3); for (int k = 0; k < 7; k++) { for (int l = 0; l < 7; l++) { a[k][l] = "0"; } } //Intente Declaration To Recieve intent value from Input_Array_1.class// Intent intent = getIntent(); nilai_order = intent.getStringExtra("order_tipe3");
//Display the value// Button display_btn = (Button)findViewById(R.id.btnIdentitasOrder_3); display_btn.setText("Segitiga Atas Tipe A \n Ordo " + nilai_order + "x" + nilai_order); } public void proses(int i , int j){ TextView IdentitasAtas_3 = (TextView) findViewById(R.id.txtIdentitasAtas_3); IdentitasAtas_3.setText("Elemen ke [" + (i+1) + "]" + "["+(j+1)+"]"); } public void InputAtas_3(View view){ //Parsing nilai_order menjadi integer
23
Integer nilai_o = Integer.parseInt(nilai_order);
//Inisialisasi properties layout EditText InputAtas3 = (EditText) findViewById(R.id.edtInputAtas_3); TextView IdentitasAtas_3 = (TextView) findViewById(R.id.txtIdentitasAtas_3); Button Input_3 = (Button) findViewById(R.id.btnInputAtas_3); Button HasilAtas_3 = (Button) findViewById(R.id.btnHasilAtas_3);
//Get value of edit text String E_Input_3 = InputAtas3.getText().toString();
//Condition if the edittext is blank or not if(E_Input_3.equals("")){ AlertDialog alertDialog = new AlertDialog.Builder(SegitigaAtas_3.this).create(); alertDialog.setTitle("Error"); alertDialog.setMessage("Masukkan elemen"); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alertDialog.show(); } else{ a[i][j] = E_Input_3;
24
//Array geser kekanan satu jika digabung dengan array lain yang ditranpose// c[i][j+1] = a[i][j]; j++; if (i < nilai_o) { if (j < nilai_o) { proses(i, j); InputAtas3.setText(""); } else { i++; j=i; proses(i, j); InputAtas3.setText("");
if(i==nilai_o){ InputAtas3.setKeyListener(null); IdentitasAtas_3.setText("Elemen Terpenuhi"); Input_3.setEnabled(false); HasilAtas_3.setVisibility(View.VISIBLE); //Logika cetak isi array// for(int c=0; c
25
public void ResHasilAtas_3(View view){ TextView HasilAtas2 = (TextView) findViewById(R.id.txtHasilAtas_3); Button MulaiBawah_2 = (Button) findViewById(R.id.btnMulaiAtasB_3); HasilAtas2.setVisibility(View.VISIBLE); HasilAtas2.setText(hasil_a); MulaiBawah_2.setVisibility(View.VISIBLE); } public void startAtasB_3(View view){ Intent intent = new Intent(this,SegitigaAtasB_3.class); Bundle extras = new Bundle(); extras.putString("Order_3", nilai_order); extras.putString("OutputAtas_3", hasil_a); //kirim array extras.putSerializable("ArrayAtas_3", a); extras.putSerializable("ArrayAtasGeser_3", c); intent.putExtras(extras); startActivity(intent); }}
c.
Listing Program Segitiga Atas B : package com.example.authority_fu.myapplication;
import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.AppCompatActivity;
26
import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class SegitigaAtasB_3 extends AppCompatActivity { Integer i = 0; Integer j = 0; String hasil_a = ""; String nilai_order; String b[][] = new String[7][7]; String d[][] = new String [7][7]; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_segitiga_atas_b_3); for (int k = 0; k < 7; k++) { for (int l = 0; l < 7; l++) { b[k][l] = "0"; } }
//Intente Declaration To Recieve intent value from Input_Array_1.class// Intent intent = getIntent(); nilai_order = intent.getStringExtra("Order_3");
27
//Display the value// Button display_btn = (Button)findViewById(R.id.btnIdentitasOrderB_3); display_btn.setText("Segitiga Atas Tipe B \n Ordo " + nilai_order + "x" + nilai_order); } public void proses(int i , int j){ TextView IdentitasAtasB_3 = (TextView) findViewById(R.id.txtIdentitasAtasB_3); IdentitasAtasB_3.setText("Elemen ke [" + (i+1) + "]" + "["+(j+1)+"]"); }
public void InputAtasB_3(View view){ //Parsing nilai_order menjadi integer Integer nilai_o = Integer.parseInt(nilai_order);
//Inisialisasi properties layout EditText InputAtasB3 = (EditText) findViewById(R.id.edtInputAtasB_3); TextView IdentitasAtasB_3 = (TextView) findViewById(R.id.txtIdentitasAtasB_3); Button InputB_3 = (Button) findViewById(R.id.btnInputAtasB_3); Button HasilAtasB_3 = (Button) findViewById(R.id.btnHasilAtasB_3);
//Get value of edit text String E_InputB_3 = InputAtasB3.getText().toString();
//Condition if the edittext is blank or not if(E_InputB_3.equals("")){
28
AlertDialog alertDialog = new AlertDialog.Builder(SegitigaAtasB_3.this).create(); alertDialog.setTitle("Error"); alertDialog.setMessage("Masukkan elemen"); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alertDialog.show(); } else{ b[i][j] = E_InputB_3; //Array geser kekanan satu jika digabung dengan array ain yang ditranpose// d[i][j+1]=b[i][j]; j++; if (i < nilai_o) { if (j < nilai_o) { proses(i, j); InputAtasB3.setText(""); } else { i++; j=i; proses(i, j); InputAtasB3.setText("");
29
if(i==nilai_o){ InputAtasB3.setKeyListener(null); IdentitasAtasB_3.setText("Elemen Terpenuhi"); InputB_3.setEnabled(false); HasilAtasB_3.setVisibility(View.VISIBLE); //Logika cetak isi array// for(int c=0; c
30
Intent intent = new Intent(this,MenuTranspose_3.class); Bundle extras = new Bundle(); extras.putString("Order_3", nilai_order);
//Array data in string mode// extras.putString("OutputAtasA_3", output_1); extras.putString("OutputAtasB_3", hasil_a);
//Send original array o next activity// extras.putSerializable("ArrayAtasA_3", passedArrayAtas_3); extras.putSerializable("ArrayAtasAG_3", passedArrayAtasG_3);
extras.putSerializable("ArrayAtasB_3", b); extras.putSerializable("ArrayAtasBG_3", d); intent.putExtras(extras); startActivity(intent); } }
d.
Listing Program Menu Transpose : package com.example.authority_fu.myapplication;
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView;
31
public class MenuTranspose_3 extends AppCompatActivity { String ArrayA_3[][] = new String [7][7]; String ArrayAG_3[][] = new String [7][7]; String ArrayB_3[][] = new String [7][7]; String ArrayBG_3[][] = new String [7][7]; String hasil_a_3=""; String hasil_gab_a3=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu_transpose_3);
for (int k = 0; k < 7; k++) { for (int l = 0; l < 7; l++) { ArrayA_3[k][l] = "0"; ArrayB_3[k][l]= "0"; } } }
public void transposeA_3 (View view){ Intent intent = getIntent(); Bundle extras = intent.getExtras(); //Hasil array yang sudah tersusun menjadi string// String OutputA_3 = extras.getString("OutputAtasA_3");
//Get array data that keep in array mode//
32
ArrayA_3 = (String[][])extras.getSerializable("ArrayAtasA_3"); ArrayBG_3 = (String[][]) extras.getSerializable("ArrayAtasBG_3");
//Get the last order value// String order_3 = extras.getString("Order_3"); Integer nilai_o = Integer.parseInt(order_3);
//Statement to transpose original ArrayA_3 and store to string// for(int i = 0; i < nilai_o; i++){ for(int j = 0; j < nilai_o; j++){
if(i >= j){
hasil_a_3 = hasil_a_3 + " " +ArrayA_3[j][i]; }else{ hasil_a_3 = hasil_a_3 + " "+"0"; } } hasil_a_3 = hasil_a_3 +"\n"; }
//to Join the array for(int i = 0; i < nilai_o; i++){ for(int j = 0; j < nilai_o+1; j++){
if(i >= j){
33
hasil_gab_a3 = hasil_gab_a3 + " " +ArrayA_3[j][i]; } else {int k = i; int l = j; hasil_gab_a3 = hasil_gab_a3 + " " +ArrayBG_3[k][l]; }
} hasil_gab_a3 = hasil_gab_a3+"\n"; }
//Send all data include array in string mode and original array data and array tranpose A // //Last Result// Intent TranposeA_3 = new Intent(this, Gabungan_3.class); Bundle extras2 = new Bundle();
//Statement to send array data in string mde// extras2.putString("OutputAtas_3", OutputA_3); extras2.putString("OutputTransposeA_3", hasil_a_3); extras2.putString("OuputGabunganA_3", hasil_gab_a3);
TranposeA_3.putExtras(extras2); startActivity(TranposeA_3);
}
34
public void transposeB_3 (View view){
Intent intent = getIntent(); Bundle extras = intent.getExtras(); //Hasil array yang sudah tersusun menjadi string// String OutputB_3 = extras.getString("OutputAtasB_3");
//Get array data that keep in array mode// ArrayAG_3 = (String[][])extras.getSerializable("ArrayAtasAG_3"); ArrayB_3 = (String[][])extras.getSerializable("ArrayAtasB_3");
//Get the last order value// String order_3 = extras.getString("Order_3"); Integer nilai_o = Integer.parseInt(order_3);
//Statement to transpose original ArrayA_3 and store to string// for(int i = 0; i < nilai_o; i++){ for(int j = 0; j < nilai_o; j++){ v vv
if(i >= j){
hasil_a_3 = hasil_a_3 + " " +ArrayB_3[j][i]; }else{ hasil_a_3 = hasil_a_3 + " "+"0"; } }
35
hasil_a_3 = hasil_a_3 +"\n"; }
//to Join the array for(int i = 0; i < nilai_o; i++){ for(int j = 0; j < nilai_o+1; j++){
if(i >= j){
hasil_gab_a3 = hasil_gab_a3 + " " +ArrayB_3[j][i]; } else {int k = i; int l = j; hasil_gab_a3 = hasil_gab_a3 + " " +ArrayAG_3[k][l]; }
} hasil_gab_a3 = hasil_gab_a3+"\n"; }
//Send all data include array in string mode and original array data and array tranpose A // //Last Result// Intent TranposeB_3 = new Intent(this, Gabungan_3b.class); Bundle extras2 = new Bundle();
//Statement to send array data in string mde//
36
extras2.putString("OutputBawah_3", OutputB_3); extras2.putString("OutputTransposeB_3", hasil_a_3); extras2.putString("OuputGabunganB_3", hasil_gab_a3);
TranposeB_3.putExtras(extras2); startActivity(TranposeB_3); } }
e.
Listing Program Gabungan 2 : package com.example.authority_fu.myapplication;
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView;
public class Gabungan_2 extends AppCompatActivity { String ArrayAtas_2[][] = new String [7][7]; String ArrayBawah_2[][] = new String [7][7];
String hasil_a=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gabungan_2);
37
Intent intent = getIntent(); Bundle extras = intent.getExtras(); String hasil_sgtb_2 = extras.getString("outputbawah_2"); String hasil_sgta_2 = extras.getString("outputatas_2"); ArrayAtas_2 = (String[][])extras.getSerializable("array_a_2"); ArrayBawah_2 = (String[][]) extras.getSerializable("array_b_2");
TextView output_atas = (TextView) findViewById(R.id.output_sgta_2); output_atas.setVisibility(View.VISIBLE); output_atas.setText(hasil_sgta_2); String order_1 = extras.getString("order_1"); Integer nilai_o = Integer.parseInt(order_1);
TextView output_bawah = (TextView) findViewById(R.id.output_sgtb_2); output_bawah.setVisibility(View.VISIBLE); output_bawah.setText(hasil_sgtb_2);
TextView gabungan_2 = (TextView) findViewById(R.id.output_gab_2); gabungan_2.setVisibility(View.VISIBLE);
for(int i = 0; i < nilai_o; i++){ for(int j = 0; j < nilai_o+1; j++) {
if (i < j) {
hasil_a = hasil_a + " " +ArrayAtas_2[i][j]; }else
38
{ int k = i; int l = j; hasil_a = hasil_a +" " + ArrayBawah_2[k][l] ; } } hasil_a = hasil_a + "\n"; }
gabungan_2.setText(hasil_a ); } }
f.
Listing Program Gabungan 3 : package com.example.authority_fu.myapplication;
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView;
public class Gabungan_3 extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gabungan_3);
39
Intent intent = getIntent(); Bundle extras = intent.getExtras(); String hasil_a_3 = extras.getString("OutputAtas_3"); String hasil_at_3 = extras.getString("OutputTransposeA_3"); String hasil_ag_3 = extras.getString("OuputGabunganA_3");
TextView output_ab3 = (TextView) findViewById(R.id.arrayatasA); output_ab3.setText(hasil_a_3);
TextView output_at3 = (TextView) findViewById(R.id.arrayTransposeA); output_at3.setText(hasil_at_3);
TextView gabungan_3 = (TextView) findViewById(R.id.output_gab_3A); gabungan_3.setText(hasil_ag_3); } } package com.example.authority_fu.myapplication;
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView;
public class Gabungan_3b extends AppCompatActivity {
@Override
40
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gabungan_3b);
Intent intent = getIntent(); Bundle extras = intent.getExtras(); String hasil_b_3 = extras.getString("OutputBawah_3"); String hasil_bt_3 = extras.getString("OutputTransposeB_3"); String hasil_bg_3 = extras.getString("OuputGabunganB_3");
TextView output_ab3 = (TextView) findViewById(R.id.arrayatasB); output_ab3.setText(hasil_b_3);
TextView output_at3 = (TextView) findViewById(R.id.arrayTranspose_3b); output_at3.setText(hasil_bt_3);
TextView gabungan_3 = (TextView) findViewById(R.id.output_gab_3b); gabungan_3.setText(hasil_bg_3); } }
g.
Listing Program Gabungan 3B :
package com.example.authority_fu.myapplication;
import android.content.Intent; import android.support.v7.app.AppCompatActivity;
41
import android.os.Bundle; import android.widget.TextView;
public class Gabungan_3b extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gabungan_3b);
Intent intent = getIntent(); Bundle extras = intent.getExtras(); String hasil_b_3 = extras.getString("OutputBawah_3"); String hasil_bt_3 = extras.getString("OutputTransposeB_3"); String hasil_bg_3 = extras.getString("OuputGabunganB_3");
TextView output_ab3 = (TextView) findViewById(R.id.arrayatasB); output_ab3.setText(hasil_b_3);
TextView output_at3 = (TextView) findViewById(R.id.arrayTranspose_3b); output_at3.setText(hasil_bt_3);
TextView gabungan_3 = (TextView) findViewById(R.id.output_gab_3b); gabungan_3.setText(hasil_bg_3); } }
h.
Listing Program Activity Gabungan :
42
43
android:background="@color/white" android:padding="10dp" android:textColor="@color/order_array_1" android:textColorHint="@color/order_array_1_hint" />
44
android:text="Gabungan Array A Tranpose dengan Array B"/>
i.
Listing Program Menu Activity Gabungan B :
45
46
android:layout_height="wrap_content" android:background="@color/white" android:padding="10dp" android:textColor="@color/order_array_1" android:textColorHint="@color/order_array_1_hint" />
j.
Listing Program Activity Menu Transpose :
47
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.example.authority_fu.myapplication.MenuTranspose_3">
<Button android:id="@+id/btntransposeA_3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dip" android:background="@color/btn_array1" android:text="Transpose A" android:textColor="@color/txtbtn_array1" android:onClick="transposeA_3"/> <Button android:id="@+id/btntransposeB_3" android:layout_width="fill_parent"
48
android:layout_height="wrap_content" android:layout_marginTop="20dip" android:background="@color/btn_array2" android:text="Transpose B" android:textColor="@color/txtbtn_array2" android:onClick="transposeB_3"/>
49
BAB III PENUTUP
1. KESIMPULAN Array (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data yang sama). Bila akan didefinisikan sebagai tipe bentukan, maka array juga akan dideklarasikan di bagian definisi tipe (dibawah kata kunci tipe). Dalam pendeklaraasian array dilakukan dengan menggunakan kata kunci array dan tipe data yang akan disimpan di dalamnya, selain itu juga harus disertai dengan batas-batas indeksnya yang diapit oleh tanda bracket([]). Array digunakan untuk mempermudah dalam penulisan syntax program pascal, array dapat menyimpan data sehingga bisa menyederhanakan dan mengefektifkan syntax. Array sendiri dibedakan menjadi dua yaitu, Array Satu Dimensi dan Array Dua Dimensi. Setiap jenis array mempunyai kegunaannya masing-masing.
2. SARAN Penulis menyadari tentang penyusunan makalah, tentu masih banyak kesalahan dan kekurangannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini. Penulis banyak berharap para pembaca yang budiman memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya makalah ini dan dan penulisan makalah di kesempatan-kesempatan berikutnya. Semoga makalah ini berguna bagi penulis pada khususnya juga para pembaca yang budiman pada umumnya.
50
DAFTAR PUSTAKA
http://aris-selalu.blogspot.co.id/2011/02/penjelasan-tentang-array.html http://agungimam.blogspot.co.id/2013/05/membuat-array-pada-java.html http://ramayu-kid.blogspot.co.id/2009/12/penjelasan-tentang-array.html http://azizah.ilearning.me/programming/pengertian-array-cara-kerja-dancontohnya/ http://www.academia.edu/4900508/Pertemuan_4_Array_pada_Java http://nursalim-zone.blogspot.co.id/2014/12/menggunakan-array-di-java.html http://magezine123.blogspot.com/2014/12/penjelasan-mengenai-array-dancontoh.html http://teknorial.com/membuat-project-android-di-android-studio/ http://panduanandroidstudio.blogspot.co.id/ http://developer.android.com/tools/studio/index.html https://en.wikipedia.org/wiki/Android_Studio
51