Tugas 1
STRUKTUR DATA
oleh:
NAMA :
RAHMAD SANTOSA
NPM : 14-650-053
KELAS :
B
UNIVERSITAS
DAYANU IKHSANUDDIN
FAKULTAS
TEKNIK
PROGRAM
STUDI TEKNIK INFORMATIKA
BAUBAU
2015
Tugas 1
Struktur data
Struktur data
Soal :
Buat
rangkuman yg terdiri dari materi : apa itu struktur data, pemrograman java,
contoh pemrograman Java dan daftar pustaka.
Catatan :
Materi boleh dicari dari internet dan tdk boleh sama setiap mahasiswa.
Rangkuman minimal 5 halaman spasi 1,5 simpan dalam format pdf dan dikirimkan lewat email : arwan97@yahoo.com dgn format penulisan file: STD1-nama-nim-kelas.
Paling lambat dikirimkan hari senin, 6 april 2015 pukul 19.00 wita.
Catatan :
Materi boleh dicari dari internet dan tdk boleh sama setiap mahasiswa.
Rangkuman minimal 5 halaman spasi 1,5 simpan dalam format pdf dan dikirimkan lewat email : arwan97@yahoo.com dgn format penulisan file: STD1-nama-nim-kelas.
Paling lambat dikirimkan hari senin, 6 april 2015 pukul 19.00 wita.
A.
Struktur Data
1.
Pengertian Struktur Data
Struktur data adalah cara menyimpan atau
merepresentasikan data didalam komputer agar bisa dipakai secara
efisien.Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau
keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan
dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
Secara garis
besar type data dapat dikategorikan menjadi:
Type data
sederhana.
·
Type data sederhana tunggal, misalnya Integer, real,
boolean dan karakter.
·
Type data sederhana majemuk, misalnyaString
Struktur
Data, meliputi:
·
Struktur data sederhana, misalnya array dan record.
·
Struktur data majemuk, yang terdiri dari:
Linier : Stack, Queue, sertaList dan Multilist
Non Linier : Pohon Biner dan Graph
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.
Struktur data yang standar yang biasanya digunakan
dibidang informatika adalah:
* List
linier (Linked List) dan variasinya
* Multilist
* Stack
(Tumpukan)
* Queue
(Antrian)
* Tree (
Pohon)
* Graph (
Graf )
Dalam bahasa pemrograman, struktur data seringkali
ditampakkan secaa fisik dalam bentuk tabel (biasanya pada bahasa
pemrograman/pengelolaan database berbasis visual), namun pada beberapa bahasa
pemrograman yang tidak berbasis visual, strutkur data lebih berupa pengelolaan
data dengan aturan-aturan tertentu.
Beberapa konsep pengelolaan data sederhana
adalah sebagai berikut :
1.
Array
Array adalah kumpulan data bertipe sama dan
menggunakan nama yang sama pula. Antara satu variabel dengan variabel lain di
dalam array dibedakan berdasarkan “subscript”. Subscript berupa bilangan di
dalam kurung siku [...]. Melalui subscript inilah masing-masing elemen dapat
diakses.
2.
Array Berdimensi Satu
Array berdimensi satu adalah sekumpulan data/elemen
yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 1
(satu) unsur. Sejumlah data suhu disimpan dalam nama suhu terdiri dari Suhu 1 =
25°, Suhu 2 = 23,5°, Suhu 3 = 21°, Suhu 4 = 26° dan Suhu 5 = 35° Pendefinisian
array meliputi nama array, tipe elemen array dan jumlah elemen array.
Contoh :
Float nilai_mhs [12];
Keterangan :
1. tipe
array : float (bilangan pecah)
2. nama
array : nilai_mhs
3. jumlah
elemen array : 12 data, yaitu nilai_mhs[1], nilai_mhs[2],…., nilai_mhs[12].
Nilai elemen
array dapat dimasukkan melalui keyboard atau dimasukkan saat didefinisikan pada
program.
3.
Array Berdimensi Dua
Array berdimensi satu adalah sekumpulan data/elemen
yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 2
(dua) unsur, yaitu baris dan kolom. Array berdimensi dua berarti meiliki dua
dimensi data. Contoh sederhana adalah data yang tertulis dalam tabel berikuit
ini :
Jika dibuat
programnya adalah sebagai berikut :
int data_mobil [3] [4];
Keterangan :
1.baris 1 –
baris 3 : menunjukkan merek mobil.
2. kolom 1 –
kolom 4 : menunjukkan tahun penjualan
3. tipe
array : integer (bilangan bulat).
4. nama
array : data_mobil.
5. jumlah
elemen array : [3,4]
6. [2,3]
dibaca : penjualan mobil merek Daihatsu pada tahun 1994 adalah 70 unit.
4.
Array Sebagai
Argumen Fungsi
Array juga dapat berkedudukan sebagi parameter di
dalam fungsi. Contoh pendefinisian :
const int MAKS = 5 Int data[MAKS];
5.
Fungsi
Fungsi adalah bagian program yang berisi sejumlah
pernyataan tertentu yang dapat dipanggil berulang kali. Tujuan pembuatan fungsi
adalah :
1.
Memudahkan dalam mengembangkan program.
2. Menghemat
ukuran program.
Beberapa hal
yang harus diperhatikan dalam pembuatan fungsi adalah :
1. Fungsi menerima masukan yang disebut argumen
atau parameter.
2. Masukan diproses oleh fungsi dan memberikan
hasil akhir yang disebut nilai balik (return value).
3. Agar
fungsi dapat dipanggil, fungsi harus dideklarasikan.
6.
Prototipe
Deklarasi
fungsi disebut prototype fungsi yang berupa :
1. nama
fungsi
2. tipe
nilai balik fungsi
3. jumlah
dan tipe argument
4. serta
diakhiri dengan titik koma (;).
Contoh :
·
long kuadrat(long l)
dimana
menyatakan kuadrat() adalah nama fungsi, long adalah tipe argument, long
(kedua) menunjukkan nilai balik yang bertipe long
·
void garis()
menyatakan
fungsi tanpa nilai balik Pernyataan return digunakan untuk memberikan nilai balik
fungsi. Dalam fungsi diatas berarti nilai kuadrat dari argument. Fungsi dengan
pernyataan void tidak memberikan nilai balik. Biasanya tidak diakhiri
pernyataan return. Jenis variabel dalam kaitannya dengan lingkup fungsi
terdapat tiga macam yaitu : variabel otomatis, variabel eksternal dan variabel
statis.
1.
Variabel Lokal (otomatis) :
Variabel yang didefinisikan di dalam
fungsi disebut variabel local. Variabel ini hanya dikenal dalam fungsi
tersebut.
2.
Variabel Global (Eksternal) :
Variabel yang didefinisikan di
bagian luar manapun dari fungsi dan dikenal oleh semua fungsi. Disebut juga
variabel global, karena dikenal de semua fungsi.
3.
Variabel Statis :
Baik variabel local maupun global
dapat berfungsi sebagai variabel statis dengan cara menambahkan pada kedua
variabel tersebtu pernyatan static. Kemudian pada kedua variabel tersebtu
berlaku hal sebagai berikut :
1.
Jika variabel local berdiri sebagai variabel statis
maka variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya,
variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap
dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap
berikutnya.
2.
Inisialisasi oleh pemrogram akan dilakukan sekali saja
selama program dijalankan. Jika tidak ada inisialisasi secara eksplisit,
variabel diisi dengan nol. 3.
3.
Jika variabel eksternal dijadikan sebagai variabel
statis, variabel ini dapat diakses oleh semua file yang didefinisikan pada file
yang sama dengan variabel eksternal tersebut .
B. PEMOGRAMAN
JAVA
1. Pengertian
Java
Java adalah
bahasa pemrograman yang multi platform dan multi device. Sekali anda menuliskan
sebuah program dengan menggunakan Java, anda dapat menjalankannya hampir di
semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan
atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java
ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual
Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan
non-spesifik.
Slogan Java
adalah “Tulis sekali, jalankan di manapun”. Sekarang ini Java menjadi sebuah
bahasa pemrograman yang populer dan dimanfaatkan secara luas untuk pengembangan
perangkat lunak. Kebanyakan perangkat lunak yang menggunakan Java adalah ponsel feature dan ponsel
pintar atau smartphone.
2. Kelebihan
dan Kekurangan java
a.
Kelebihan
·
bahasa pemrograman yang multi platform dan multi
device.
Sekali anda
menuliskan sebuah program dengan menggunakan Java, anda dapat menjalankannya
hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit
perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan
berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan
Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan
platform sistem operasi yang
berbeda karena sifatnya yang umum dan non-spesifik. Bahasa pemrograman lain
yang telah ada sebelum Java lahir sudah merupakan bahasa yang baik dan mudah
dipelajasi oleh programmer profesional. Akan tetapi para programmer ini
menginginkan sesuatu yang baru yang memiliki banyak hal yang menyelesaikan
masalah mereka. Utamanya adalah keamanan kode mereka. Hal ini melahirkan
pikiran yang revolusioner untuk menemukan bahasa pemrograman lain yang disebut
Java. Tidak hanya keamanan tapi juga beberapa hal yang sering disebut sebagai
Java-Buzzwords.
·
Sederhana Dan Berorientasi
Objek
Seperti diuraikan sebelumnya, Java
lahir dari suatu pemikiran mendalam akan bahasa pemrograman yang ada pada saat
itu, seperti C dan C++. Hal ini akan memudahkan programmer profesional untuk
dapat mengerti lebih jelas tentang Java, fungsionalitas, dan lain sebagainya
apabila ia memiliki pengetahuan dasar tentang C++ dan konsep pemrograman
berorientasi objek. Tujuannya agar konsep dasar dari teknologi Java dapat
dimengerti dengan mudah, dan programmer dapat segera menghasilkan sesuatu
sedini mungkin. Tidak hanya ini, penemu Java memastikan bahwa Java juga bermula
dari bahasa pemrograman dasar yang sudah ada pada saat itu. Kemudian mereka
membuang berbagai fitur yang rumit dan membingungkan.
b. Kekurangan
yang lain adalah penggunaan memori
yang cukup banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi
Java. Namun hal ini memang sesuai dengan fitur beragam yang dimiliki oleh Java.
Masalah memori ini juga tidak dialami oleh semua pengguna aplikasi Java. Mereka
yang sudah menggunakan perangkat keras dengan teknologi terbaru tidak merasakan
kelambatan dan konsumsi memori Java yang tinggi. Lain halnya dengan mereka yang
menggunakan teknologi lama atau komputer yang sudah
berumur tua lebih dari empat tahun akan merasakan adanya kelambatan. Namun
apapun kelemahan yang dimiliki Java, faktanya adalah Java merupakan bahasa
pemrograman yang populer dan digunakan di seluruh dunia saat ini.
3. Keuntungan yang anda dapat dari java
a) Mulai dengan
cepat: Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari,
terutama untuk programmer yang sudah menguasai C atau C++
b) Tulis lebih
sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa
program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat
lebih kecil dari program sama yang ditulis dalam bahasa C++
c) Tulis
program lebih baik: Bahasa pemrograman Java menganjurkan praktek membuat
program yang baik, dan automatic garbage collection membantu Anda untuk
menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen
JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan
Anda menggunakan kode yang ada.
d) Membuat
program dengan lebih cepat: Bahasa pemrograman Java lebih mudah dari C++,
pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris yang
jauh lebih sedikit.
e) Menghindari
kebergantungan pada platform tertentu: Anda dapat menjalankan program
Anda pada banyak platform dengan TIDAK menggunakan library yang ditulis
spesifik untuk platform tertentu.
f) Tulis
sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam
bahasa Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang
ditulis dapat jalan secara konsisten pada platform apa saja.
g) Distribusikan
software Anda dengan mudah: Dengan Java Web Start, pengguna program Anda akan
dapat menggunakan aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis
pada saat program dimulai menjamin pengguna Anda
C. CONTOH
PEMOGRAMAN JAVA
kalkulator sederhana (handling exception)
import java.util.*;
public class kalkulator
{
// method operasi kali
public int kali(int a, int b){
int c= a*b;
return c;
}
// method operasi bagi
public float bagi(float a, float b){
float c= a/b;
return c;
}
//method operasi pangkat
public int pangkat(int a, int b){
int c=(int) Math.pow(a,b);
return c;
}
// method untuk input angka
public int inputAngka(){
String a;
int a2=0;
try {
Scanner sc = new
Scanner(System.in);
a=sc.nextLine();
a2=Integer.parseInt(a);
}
catch (InputMismatchException e) {
System.err.println("Error:
" + e);
}
return a2;
}
// method pemilihan menu dan pemanggilan
method2 sesuai pilihan
public void pilihmenu(int pil){
int a=0;
int b=0;
float c=0;
switch(pil){
case 1 :
try
{
Scanner scan=new
Scanner(System.in);
int array[]= new int
[10];
int awal=0, tot;
for(int
i=0;i<100;i++)
{
System.out.println("Masukkan angka ke-"+(i+1));
array[i]=scan.nextInt();
tot=awal+array[i];
awal=tot;
if(tot==-1 || i==9)
{
System.out.println("Total = "+tot);
break;
}
else
if(tot>9999 || tot<-9999)
{
throw new IllegalArgumentException();
}
}
}
catch (InputMismatchException err)
{
System.err.println("ERORR INPUT");
}
catch (IllegalArgumentException err)
{
System.err.println("ERROR, jumlah digit tidak boleh lebih dari 5");
}
break;
case 2:
try
{
System.out.println("[Perkalian]");
System.out.print("angka 1: ");
a=this.inputAngka();
System.out.print("angka 2: ");
b=this.inputAngka();
c=this.kali(a,b);
System.out.println("------------ *");
System.out.println("hasil : "+c);
System.out.println();
if
(c<-9999 || c>9999)
{
throw new IllegalArgumentException();
}
}
catch
(NumberFormatException err)
{
System.err.println("Bukan
Angka");
}
catch
(IllegalArgumentException err)
{
System.err.println("ERROR, jumlah digit tidak boleh lebih dari 5");
}
break;
case 3 :
try
{
System.out.println("[Pembagian]");
System.out.print("angka 1: ");
a=this.inputAngka();
System.out.print("angka 2: ");
b=this.inputAngka();
c=this.bagi(a,b);
System.out.println("------------ /");
System.out.println("hasil
: "+c);
System.out.println();
if (c<-9999 ||
c>9999)
{
throw new
IllegalArgumentException();
}
}
catch (ArithmeticException err)
{
System.err.println("ERROR");
}
catch (NumberFormatException err)
{
System.err.println("Bukan Angka");
}
catch (IllegalArgumentException err)
{
System.err.println("ERROR, jumlah digit tidak boleh lebih dari
5");
break;
}
break;
case 4:
try
{
System.out.println("[Pangkat]");
System.out.print("angka 1: ");
a=this.inputAngka();
System.out.print("angka 2: ");
b=this.inputAngka();
c=this.pangkat(a,b);
System.out.println("------------
/");
System.out.println("hasil : "+c);
if (c<-9999 ||
c>9999)
{
throw new
IllegalArgumentException();
}
}
catch (NumberFormatException err)
{
System.err.println("Bukan Angka");
}
catch (IllegalArgumentException err)
{
System.err.println("ERROR, jumlah digit tidak boleh lebih dari
5");
break;
}
break;
case 5:
System.out.println();
System.out.println("Anda
Keluar");
break;
default:
System.out.println("-----------");
System.out.println("Salah
Pilih");
System.out.println("-----------");
}
}
public static void main(String[] args)
{
int pil;
kalkulator kal= new kalkulator();
do {
System.out.println();
System.out.println("------------------");
System.out.println("MENU:");
System.out.println("1
Penjumlahan");
System.out.println("2
Perkalian");
System.out.println("3
Pembagian");
System.out.println("4
Pemangkatan");
System.out.println("5
Keluar");
System.out.println("------------------");
System.out.print("Masukkan
Pilihan : ");
pil=kal.inputAngka();
kal.pilihmenu(pil);
} while (pil!=5);
}
}