Sabtu, 15 Desember 2012

Larik


LARIK

1. Pengertien Larik
Larik (array) menyatakan kumpulan data. Pada beberapa bahasa pemerograman, data yang terkandung dalam suatu larik harus bertipe sama. Namun dalam bahasa pemerograman, data yang terkandung dalam suatu larik harus bertipe sama. namun dalam bahasa pemerograman tertentu, kumpulan data semacam itu bisa melibatkan tipe yang berbeda-beda.

Di dalam algoritma, larik dinyatkan dengan awalan huruf kapital dan notasi [] dipakai untuk menyatakan data dalam larik. Contoh:

Aß[1, 2, 3, 1]

Menyatakan larik A yang berisi data 1, 2, 3, dan 1. Larik seperti itu dapat dinyatakan dalam bentuk gambar seperti terlihat pada gambar berikut:



Pada contoh gambar diatas , larik A memiliki empat buah elemen.

UNtuk menyatakan sebuah elemen dalam larik, Anda bisa menggunakan notasi sebagi berikut:

Dalam hal ini indeks digunakan untuk menyatakan posisi elemen. Posisi elemen. Posisi pertama diberi kode 0 (indeks berupa 0), posisi kedua mempunyai indeks 1, dan seterusnya. Gambar berikut menjelskan notasi untuk seluruh elemen dalam larik A.

A[indeks]

Contoh berikut menujukan cara menampilkan elemen pada larik A dengan indeks sama dengan 2:
   tampilkan(A[2])
Adapun
   A[2]ß0
Menyatakan pengisian nilai 0 ke elemen berindeks 2 pada larik A.




2. Larik pasa JAVA
Pada bahasa Java, larik sebenarnya merupakan suatu objek. Kalau mau menggunakan larik, diperlukan dua langkah.

1.   Langkah pertama; Mendeklarasikan variable yang merujuk ke larik (yang selanjutnya disebut variabel larik).
2.   Langkah kedua: Menciptakan objek larik dan menugaskannya ke variabel larik.    

A.  Pendeklarasian Larik dan Pembuatan Objek Larik
Bentuk pendeklarasian variable larik:
Perhatikan keberadaan tanda [] setelah sama tipe data.
Pembuatan objek larik dilakukan melalui pemerintah new dengan bentuk seperti berikut:
new tipeData[jumlahElemen]
Dalam hal ini, jumlahElemen harus berupa konstanta.
Contoh berikut menunjukan pendeklarasian variabel larik dan pembuatan objek larik dan penugasan variabel larik agar merujuk ke objek larik:

   int[] daftarAngka = new int [4];
   Strring[] namaKota = new String[10];

Pada contoh pertama, larik yang di buat bertipe int dan mengandung 4 buah elemen. Larik tersebut dirujuk oleh variabel daftarAngka   

Pada contoh kedua,larik yang dibuat bertipe String dan mengandung 10 buah elemen. Larik tersebut dirujuk oleh variabel namaKota

B.  Pengaksesan Elemen Larik
Pengaksesan elemen larik dilakukan menggunakan notasi:
     namaLarik[indeks]
Dalam hal ini indeks dimulai dari nol:

Contoh:
     daftarAngka[0] = 1;

Merupakan pernyataan untuk mengisikan nilai 1 ke elemen pertama pada larik daftarAngka. Elemen pertama pada larik memiliki endeks sama dengan nol.

C.  Pengisian Nilai Saat Pendeklarasian
Pada Java, suatu larik bisa langsung diisi dengan suatu nilai ketika larik tersebut dideklarasikan. Contoh:
int[] jumlahHari = {31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31};
Perhatikan, jumlah elemen larik boleh tidak disertakan jika anda menggunakan pendeklarasian yang langsung diisi dengan larik.
Pada contoh di atas,
1.   jumHari [C] benilai31
2.   jumHari [1] benilai28
3.   jumHari [2] benilai31
4.   jumHari [3] benilai30
5.   dan seterusnya   


Catatan:
1.   Larik yang telah dibahas adalah larik yang berdimensi satu.
2.   Java mendukung larik yang bebimensi lebih dari satu. Larik seperti ini akan dibahas belakangan.

D.  Mengetahui Jumlah Elemen Larik
Objek larik mempunyai variabel instan bernama length. Variabel ini mencatat jumlah elemen dalam larik. Contoh:

      daftarAngka.length
Menyatakan jumlah elemen dalam larik yang dirujuk oleh variabel daftarAngka

Oprasi Pengulangan


OPRASI PENGULANGAN

1.Memahami bentuk ULANG..AKHIR-ULANG, ULANG.. SAMPAI dan translasi ke program JAVA

Salah satu struktur pengulangan yang telah Anda pelajari sekilas yaitu berupa ULANG..AKHIR-ULANG. Bentuknya seperti berikut:

    ULANG SELAMA kondisi
       Pernyataan1
       …
       PernyataanN
    AKHIR-ULANG

Dalam hal ini, bagian Pernyataan1 hingga PernyataanN akan dijalankan secara terus-menerus selama kondisi bernilai benar.

Bentuk seperti ini ditranslasikan ke java menggunakan pernyatan while.
Bentuknya seperti berikut:

    while(kondisi){
       pernyataan1
       …
      pernyataan_n;
    }   

Seandainya yang berada dalam tanda { } hanya terdapat satu pernyataan, pasangan tanda tersebut bisa dihilangkan. Contoh:

    while(kondisi)
       pernyataan;


Catatan:
Kondisi dalam while berupa ekpresi yang menghasilakan nilai benar atau salah danharus ditulis dalam tanda kurung.

Adapun bentuk
    ULANG
       Pernyataan1
       …
       PernyataanN
    SAMPAIkondisi
diterjemahkan ke dalam java melalui
    do
       pernyataan_1;
      
       pernyataan_n;
    while(kondisi==false)

Contoh [Menampilkan suatu text 6 kali] Buatlah algoritma dan program untukmenampilkan 6 baris yang berisi tulisan “Selamat Belajar”

Algoritma:
1)   bil ß 1
2)   ULANGI SELAMA bil < 6
   tampilkan(“Selamat Belajar”)
   bil ß bil+1
AKHIR-ULANG

Program:



2.Memahami Bentuk UNTUK..AKHIR-UNTUK dan translasi ke program JAVA

Bentuk UNTUK..AKHRI-UNTUK juga digunakan untuk menangaani pengulangan. BENtuk pemakaianny seperti berikut:

UNTUK variable ß awal S/D akhir LANGKAH kenaikan
pernyataan1
pernyataanN
AKHIR-UNTUK

Bentuk di atas digunakan untuk melakukan pengulangan terhadap pernyataan1 hingga pernyataanN yang digunakan dari variable bernilai awal hingga variable bernilai tidak lebh dari nilai akhir. Klausa LANGKAH menentukan kenaikan terhadap nilai variable untuk setiap interasi berikutnya. Bagian ini bersifat opsional. Kalau tidak disebutkan, kenaikan terhadap variabel sebesar1.

Pada Java bentuk UNTUK..AKHIR-UNTUK ditranslasikan dengan menggunakan pernyataan for. Pernyataan for yang setara dengan bentuk tersebut sebagai berikut:

for(variabel =awal;variabel<= akhir;variable = variabel+langkah) {
   pernyataan1;
   …
   pernyataanN;
}

atau:

for(variabel = awal;variable>= akhir;variable = variable-langkah) {
   pernyataan1;
   …
   pernyataan;
}




Catatan:
1)   Bentuk pertama berlaku untuk nilai awal<=akhir dan bentuk untuk kedua berlaku untuk nilai awal>=akhir.
2)   Tanda{ } dapat ditiadakan jika pada bagian tersebut hanya terdapat sebuahpernyataan.
3)   Pada Java, bentuk seperti
variabel = variable + langkah
dapat ditulis menjadi
variabel += langkah
4)   Beberapa bentuk yang setara dengan += antara lain -=, *=, %=, dan *=.
5)   Bentuk seperti
variabel = langkah + variabel
bisa ditulis menjadi
variabel++
6)   Bentuk seperti  
variabel = langkah - variabel
bisa ditulis menjadi
variabel--


Translasi bentuk UNTUK..AKHIR-UNTUK ke pernyataan for
UNTUK..AKHIR-UNTUK
Pernyataan for
Hasil
UNTUK bil 1S/D8
   tampilkan(bil)
AKHIRI-UNTUK
for(bil=1;bil<=8;bil++)
   System.out.println(bil);

Catatan:
bil++ identik dengan
bil = bil+1
1
2
3
4
5
6
7
8
UNTUK bil 1S/D8 LANGKAH 3
   tampilkan(bil)
AKHIRI-UNTUK
for(bil=1;bil<=8;bil+=)
   System.out.println(bil);

Catatan:
bil =+3 identik dengan
bil = bil+3
1
4
7
UNTUK bil 10S/D5 LANGKAH 1
   tampilkan(bil)
AKHIRI-UNTUK
for(bil=10;bil>=5;bil--)
   System.out.println(bil);

Catatan:
bil--identik dengan
bil = bil-1
10
9
8
7
6
5
UNTUK bil 10S/D5 LANGKAH 2
   tampilkan(bil)
AKHIRI-UNTUK
for(bil=10;bil>=5;bil-2)
   System.out.println(bil);

Catatan:
bil-2identik dengan
bil = bil-2
18
8
6

Rabu, 28 November 2012

Operasi Seleksi


 v  Disini saya akan memperknalkan pembuatan algoritma dan program   untukmemecahkan berbagai permaslahan yang mengunakan struktur seleksi.

·       Struktur Seleksi Pada Java
if dan switch, merupakan dua buah pernyataan yang terkait dengan seleksi yang disediakan java.
Secara garis besar java menyediakan dua buah pernyataan yang terkait dengan seleksi, yaitu pernyataan if danswitch.
1. Penerjemahan Bentuk JIKA..AKHIR-JIKA
Pseudokode
Kode Java

JIKA kondisi Benar MAKA
    Pernyatan
    . . .
AKHIR-JIKA 

If (kondisiBenar){
    pernyatan;
    . . .
}

Catatan:
1)       kondisi pada pernyataan if harus ditulis di dalam tanda kurung. Dengan kata lain, tanda kurung harus disertakan untuk melengkapi kondisi pada pernyataan if.
2)       Pada bahas Java jika didalam tanda {} hanya terdapat sebuah pernytaan, tanda tersebut bisa dibuang.

2.   Penerjemahan Bentuk COCOK..AKHIR-COCOK
Pseudokode
Kode Java

COCOK nilai
     DENGAN nilai1 MAKA
        pernyatan11
        pernyatan12
        . . .
     DENGAN nilai1 MAKA
        pernyatan21
        pernyatan22
        . . .
      DENGAN nilai1 MAKA
        pernyatan31
        pernyatan32
        . . .
AKHIR-COCOK

Switch (nilai){
     Case nilai1:
         Pernyatan11;
         Pernyatan12;
         Break;
Switch (nilai){
     Case nilai2:
         Pernyatan21;
         Pernyatan22;
         Break;
Switch (nilai){
     Case nilai3:
         Pernyatan31;
         Pernyatan32;
         Break;
}

Catatan:
1)    Pernyataan break pada pernyataan switch digunakan agar eksekusi dilanjutkan ke pernyataan yang terletak sesudah pernyatan switch.
2)    Bagian default pada switch bersifat opsional (bisa ada, bisa tidak ada). Bagian ini hanya dijalankan kalau tidak ada satu pun case yang cocok dengan nilai pada switch.
3)    Pernyataan break pada bagian default bisa tidak ditiadakan tanpa mengubah hasil.
·         Seleksi Sederhana
[Menentukan bilangan genap atau ganjil] Sebuah bilangan bulat dapat ditentukan sebagai bilangan genap jika bila blngan tersebut habis dibagi 2.  Jika tidak habis dibagi dengan 2 maka bilangan tersebut adalah bilangan ganjil.
Algoritma:
1)   masukan (bilangan)
2)   JIKA sisa pembagian(bilangan,2)=0 MAKA
      tampilkan(“Bilangan genap”)
SEBALIKNYA
      tampilkan(“Bilangan ganjil”)
Program:
3.   Seleksi Dengan Kondisi majemuk
Seringkali suatu kondisi yang dijadikan sebagai pengambil keputusan dalam suatu seleksi tidak sesederhana pada dua conto sebelumnya, melainkan melibatkan lebih dari sebuah kondisi. Contoh berikut akan menjelaskan hal ini. 
Contoh [memvalidasi nilai ujian]
Algoritma:
Algoritma untuk menyelesaikan masalah di atas adalah seperti berikut.
1)   Masukkan(nilai)
2)   JIKA nialai > 0 DAN nilai < 100 MAKA
   tampilkan(“Apsah”)
SEBALIKNYA
   tampilkan(“Apsah”)
AKHIRI-JIKA
Program:

4. Seleksi Sembarang
Dalam berbagai persoalan, seringkali suatu bentuk seleksi bertingkat diperlukan. Bentuk seperiti inilahyang dinamakan sebagai seleksi sembarang. Seperti contoh berikut.
Contoh [menentukan tahun kabisat]
Algoritma:
Suatu tahun disebut tahun kabisat jika memenuhi kriteria berikut:
1)   tahun tersebut habis dibagi 4, tetapi
2)   jika habis dibagi 100 maka tahu tersebut harus habis dibagi 400. Berdasarkan informasi tersebut dapat disusun algoritma seperti berikut:
1)   masukan(tahun)
2)   JIKA sisaPembagian(tahun,4) 0 MAKA
   tampilkan(“BukanKabisat”)
SEBALIKNYA
   JIKA sisaPembagian(tahun,100) = 0 MAKA 
      tampilkan(“BukanKabisat”)
   SEBALIKNYA
      tampilkan(“Kabisat”)   
   AKHIR-JIKA
AKHIR-JIKA
Program:

5. Seleksi Dengan String
Sebuah contoh seleksi pada String sebagai berikut:
Contoh [Kamus]
Algoritma:
1)   masukkan(KataInggris)
2)   JIKA kataInggris = “one” MAKA
   tampilkan(“satu”)
SEBALIKNYA
   JIKA kataInggris = “two” MAKA
      tampilkan(“dua”)
   SEBALIKNYA
      JIKA kataInggris = (“three”)
         tampilkan(“tiga”)
      SEBALIKNYA
         tampikan(“maaf saya tidak tahu”)
      AKHIR-JIKA
   AKHIR-JIKA
AKHIR-JIKA  

Program: