Rabu, 23 Februari 2011

A R R A Y dan RECORD

ARRAY:


Sebuah array dapat dikatakan sebagai suatu himpunan terurut dengan elemen-elemen homogen. Terurut, dimaksudkan bahwa elemen pertama, elemen kedua, dst masing-masing dapat diidentifikasi. Sedangkan homogen berarti masing-masing elemen tersebut mempunyai tipe data yang sama.

    Array dapat dikelompokkan atas 2 bagian, yaitu :
      1. Array satu dimensi.
      2. Array multi dimensi.

Sifat Array:
 
Array merupakan struktur data yang statis, yaitu
jumlah elemen yang ada harus ditentukan
terlebih dahulu dan tak bisa di ubah saat
program berjalan. Untuk menyatakan array
dalam PASCAL kita harus terlebih dahulu:
Mendefinisikan jumlah elemen array
Contoh. const N=10;
type
A= array [1..N] of integer;


ARRAY SATU DIMENSI
      Bentuk array yang paling sederhana adalah array satu dimensi. Array jenis ini dapat dianggap sebagai sebuah vektor. Suatu array A berdimensi satu dengan N buah elemen, secara fisik dapat digambarkan sebagai berikut :

A(1)
A(2)
.....
A(I)
.....
A(n)

Indeks dari elemen suatu array menyatakan posisinya dalam urutan secara umum suatu array A berdimensi satu dengan elemen berjenis data T yang mempunyai indeks dari L s/d U dituliskan sbb:

            A(L:U) = {A(I)}
           
            Untuk I = L, L+1, L+2, ................., U-1, U,
            dimana masing-masing  A(I) berjenis data T.

L disebut sebagai batas bawah dari indeks A dan U sebagai batas atas dari A.
Jumlah elemen dalam suatu array disebut sebagai range.
Range dari array A(L:U) adalah U - L + 1.
Range dari array B(1:N) adalah N - l + 1= N.






ARRAY MULTI DIMENSI
      Array dua dimensi adalah salah satu contoh dari array jenis multi dimensi (dimensi banyak). Array ini elemen-elemennya merupakan array pula. Bentuk yang dianggap dapat mewakili array dua dimensi ini adalah matriks.  Suatu array B yang terdiri atas M elemen dimana masing-masing elemennya berupa array dengan N elemen, dapat digambarkan sebagai suatu tabel MxN, dengan bentuk sbb:   


1
2
3
...
J
...
N
1







2







3







...







I







...







M









Array ini dituliskan :             B(1:M,1:N) = {B(I,J)},
                                                Untuk  I = 1,2,...,M
                                                            J = 1,2,...,N
Jumlah elemen (range) dari array B ini adalah M x N.

Secara umum, array 2 dimensi B dengan batas bawah indeks pertama L1, batas atas indeks pertama U1, batas bawah indeks kedua L2 batas atas indeks kedua U2, dituliskan:

            B(L1 : U1, L2 : U2) = {B(I,J)}
            Untuk L1 < I < U1 dan L2 < J < U2

Jumlah elemen baris dari array B adalah : ( U2 - L2 + 1 )
Jumlah elemen kolom dari array B adalah : ( U1 - L1 + 1)
Jumlah total elemen array B adalah : (U2 - L2 + 1 )(U1 - L1 + 1)

RECORD

   Record adalah himpunan dari elemen-elemen yang heterogen.
      Heterogen adalah elemen-elemennya dapat mempunyai tipe data yang berbeda.

      ELEMENTARY ITEM adalah suatu field yang tidak mempunyai subfield.

      GROUP ITEM adalah suatu field yang mempunyai subfield.

      TUPEL adalah gabungan atribut yang menjadi suatu informasi dari proses basis                              data.

      Contoh RECORD :

      PEGAWAI
Job Tittle
Emp. No
Pay Rate
Name
Telp. No
Analys
00012724
1.000.000
Bob Geldof
7801725
Programmer
00023451
   800.000
Ceu Rika
7521475
( String(20) )
( String(8) )
( Real(9,2) )
( String(25) )
( String(7) )

      Record-record yang tipenya sama : FILE.
      Untuk menyatakan suatu data dalam record yang mempunyai identifikasi yang khusus, maka harus punya 1 field khusus yang disebut KEY (kunci field).

  DEKLARASI RECORD DALAM BAHASA PEMROGRAMAN

  PROGRAM DALAM COBOL
      DATA DIVISION.
      01  PEGAWAI.
            02  JOB_TITTLE       PIC X(20).
            02  EMP_NO             PIC X(8).
            02  PAY_RATE         PIC 9(2) V 9(2).
            02  NAME                              PIC X(25).
            02  TELP_NO                        PIC X(7).

  PROGRAM DALAM PASCAL
      Type
            Pegawai = Record;
                                    Job_Tittle : String[20];
                                    Emp_No  : String[8];
                                    Pay_Rate : Real;
                                    Name       : String[25];
                                    Telp_No   : String[7];
                             End;          




Rabu, 16 Februari 2011

Struktur Data dan Tipe Data

  • Struktur Data 
adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis.

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 )

REVIEW RECORD (REKAMAN)
Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan oleh pemrogram.
Rekaman disebut juga tipe terstruktur
Contoh :
1. type Titik : record
jika P dideklarasikan sebagai Titik maka
mengacu field pada P adalah P.x dan P.y.
2. Didefinisikan tipe terstruktur yang mewakili Jam yang terdiri
atas jam (hh), menit (mm) dan detik (ss), maka cara menulis
type Jam adalah :
type JAM : record
mm : integer, {0…59}
ss : integer {0…59}>
Jika J adalah peubah (variabel) bertipe Jam
maka cara mengacu tiap field adalah J.hh, J.mm dan J.ss
Terjemahan dalam bahasa C :
1. type Titik : record
diterjemahkan menjadi :
typedef struct { float x;
float y;
} Titik;
2. type JAM : record
mm : integer, {0…59}
ss : integer {0…59}
>
Diterjemahkan menjadi :
typedef struct
{ int hh; /*0…23*/
int mm; /*0…59*/
int ss; /*0…59*/
} Jam;

  • Macam-macam dari Tipe Data adalah:
a. Integer ( Bilangan Bulat )
Integer merupakan nilai bilangan bulat baik dalam bentuk desimal maupun hexadecimal. Tipe data numerik yang termasuk integer adalah sebagai berikut :
- Byte : Memiliki nilai integer dari -128 sampai +127 dan menempati 1 byte ( 8 bits ) di memori
- Short : Memiliki nilai integer dari -32768 sampai 32767 dan menempati 2 bytes ( 16 bits ) di memori
- Int : Memiliki nilai integer dari -2147483648 sampai 2147483647 dan menempati 4 bytes ( 32 bits ) di memori
-Long : Memiliki nilai dari -9223372036854775808 sampai 9223372036854775807 dan menempati 8 bytes ( 64 bits ) di memori.

b. Char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda ‘ ( petik tunggal ).

c. String
Merupakan urutan-urutan dari karakter yang terletak di antara tanda petik tunggal. Nilai data string akan menempati memori sebesar banyaknya karakter string ditambah dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap panjangnya adalah 255 karakter.

d. Real
Nilai konstanta numeric real berkisar dari 1E-38 sampai 1E+38. E menunjukkan nilai 10 pangkat, dan tipe data ini menempati memori sebesar6 byte.

e. Boolean
Tipe data boolean terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.
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

Tipe-tipe data yang berlaku:
Tipe Data Sederhana
• Integer
• Boolean
• Char
• Subrange
• Terbilang
• Real

Tipe Integer
• Tipe data ini digunakan untuk menyatakan
bilangan bulat karena tidak mempunyai
titik decimal sehingga tidak diperbolehkan
menggunakan karakter koma antara dua
bilangan.

Tipe Data String
Data yang bertipe string adalah data yang
berisi sederetan karakter yang banyaknya
karakter bisa berubah-ubah sesuai
kebutuhan, yaitu dari 1 sampai 255
karakter. Tipe data string yang tidak
dinyatakan panjang karakternya dianggap
mempunyai 255 karakter.
Contoh String
Bentuk umum dari deklarasi tipe string adalah :

• Type pengenal =string[panjang];
Dengan

• Pengenal : nama tipe data

• panjang : bilangan bulat yang menyatkan
banyaknya karakter
Contoh

• Type nama = string[30]
Tipe Data Terstruktur
Dalam tipe data tersetruktur setiap perubah
bisa menyipan lebih dari sebuah nilai data.
Masing-masing nilai data disebut
komponen. Karakteristik data bertipe
tersetruktur ditentukan berdasarkan cara
penstrukturan dan tipe masing-masing
komponen.
Anggota Tipe Data terstruktur
Didalam tipe data ini ada tipe data :
• larik/array
• Record
• Objek
• File

  • Contoh type data pada struktur data:
    1.      Tipe data Char dan String
    Ini merupakan tipe data dasar, tipe data ini didefinisikan pada deklarsi var dibagian algoritma/program.
    Example : Var Nama : String
    Nilai : Char
    Keterangan :
    Nama merupakan sebuah variabel didefinisikan sebagai variabel bertipe string, maksudnya pada variabel tersebut digunakan untuk menerima masukan sebuah nama yang terdiri dari sekumpulan huruf, dapat berupa huruf besar, kecil, atau campuran kedua-duanya.
    Nilai, didefinisikan sebagai variabel yang bertipe data char, maksudnya variabel tersebut hanya dapat digunakan untuk memasukkan sebuah huruf dari huruf besar, seperti A, B, C,.. atau huruf kecil, a, b, c, ….
    2.      Tipe data Boolean
    Tipe data ini digunakan untuk pengambilan keputusan dalam operasi logika. Terdiri dari true disimbolkan ‘T’ dan False yang disimbolkan ‘F’. Ketika kita ingin mendapatklan hasil yang valid/pasti, kita menggunakan tipe data boolean untuk memperoleh keputusan dalam suatu penyelesaian yang pasti.
    3.      Tipe Data Integer
    Merupakan tipe data bilangan bulat.
    Tipe Data
    Rentang nilai
    Memori
    Byte
    0…255
    1 byte
    Word
    0…65.555
    1 byte
    Integer
    -32.768 s.d 32.767
    2 byte
    Long Integer
    -2.147.483.648
    4 byte
    4.       Tipe Data Real
    Merupakan tipe data bilangan pecahan seperti real, single, double, comp, extend.
    5.      Tipe Data Subrange
    Merupakan tipe data bilangan yang punya jangkauan nilai tertentu sesuai dengan definisi pada pemrogram.
    Example:
    Type Variabel=Nilai_awal…Nilai_akhir
    6.      Tipe Data Enumerasi
    Merupakan tipe data yang memiliki elemen-elemen tertentu yang disebut satu/satu dari bernilai konstanta integer sesuai dengan urutannya. Pada tipe data ini elemen masukan diwakili oleh suatu nama variable yang ditlis di dalam kurung.
    Example :
    Indeks_Hari = (Nol, Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu)
     

Kamis, 30 Desember 2010

Menghadapi Masalah

Saya tahu bahwa tidak ada seorang pun di dunia ini yang akan menolak jika dia dilahirkan tanpa masalah dan selalu bahagia tanpa ada sedikit kesedihan. Tapi apakah itu mungkin ? Bahkan mereka, anda dan saya bahkan mau membayar berapa dollar pun kalo seandainya ada orang yang bisa membuat kita lahir di dunia ini dan hidup di dunia ini tanpa ada masalah dan kesedihan sama sekali. Bahagia selalu bahkan selalu ceria. Ini saya ada sedikit cerita inspirasi yang saya kutip dari sebuah buku yang selayaknya pantas untuk saya tuliskan disini. Buku ini judulnya adalah “Bila anda pikir bisa, Anda pasti bisa melaksanakan dan meraih apa yang anda inginkan”. Mari kita simak cuplikan cerita dari buku ini bersama-sama.
“Bung Norman,” kawan saya menyapa. “Tolong bebaskan saya dari masalah yang menindih hidupku ini, maka saya akan berikan anda seribu dollar uang kontan atas kebaikan jasa anda itu.”Tentu saja saya bukanlah seorang yang suka menampik permintaan semacam itu”. Maka saya pun merenungkan dan mempertimbangkan usul kawan saya itu dan muncul dengan satu pemecahan masalah yang lumayan juga. Sekurang-kurangnya cukup realistis sifatnya. Tetapi George nampaknya agak segan rupanya, sebab ia telah terlanjur menjanjikan 1000 dolar sebagai hadiah.
” Tidak apa george, ” norman berkata. “Saya tetap saja mau bantu kamu. Oleh sebab itu mari kita pecahkan bersama masalahnya. Kalau tidak salah anda ingin bebas dari segala masalah anda itu, bukan ? Sampai habis dan tuntas ?
“Ya Betul,” Jawab George. “Saya ingin lepas dari segala masalah yang saya hadapi dalam hidup ini. Saya sudah bosan dan kapok dalam menghadapi cobaan, ujian dan kemelut dalam hidup ini. Saya ingin bebas untuk selama-lamanya.”
”Baiklah George, saya sudah punya jawabannya”, kata norman. Akan tetapi saya sangsi apakah kau mau menerima jawaban saya atau tidak. Dengarkan ! Beberapa waktu lalu saya sedang melakukan tugas profesionalku, dimana saya harus berhadapan dengan pemimpin kelompok orang-orang yang yang lebih dari puluhan ribu jumlahnya. Dan tak seorang pun dari mereka memiliki masalah kehidupan.”
Wajah george langsung cerah, matanya berbinar-binar kegirangan karena keingin tahuannya.” Nah itulah tempat yang cocok bagi saya. Antarkanlah saya ke tempat itu teman”. Ujar si george girang.
“Baiklah,” jawab si norman.” Tetapi tempat yang saya maksud adalah perkuburan.”
” Dan memang itulah kenyataannya George. Bahwa di perkuburan itu tak ada seorang pun yang menghadapi masalah hidup. Bagi orang yang sudah menjadi penghuni di kuburan tidak akan pernah merasa cemas karena hidup yang penuh masalah itu telah berlalu bagi mereka. Mereka telah istirahat dari tugas dan pekerjaannya tiap hari. Mereka tidak peduli dengan apa yang kita baca dalam koran atau surat kabar atau bahkan apa yang kita lihat ditelevisi mereka sudah tidak peduli. Mereka tak punya masalah lagi dengan kehidupan, mereka beralih masalah pada hidup mereka di alam kubur. Karena memang mereka bukanlah orang hidup dan mereka adalah orang yang sudah mati.” Tegas Norman kepada George.
Dikutip dari Buku Bila Anda Fikir Bisa Anda Pasti Bisa Melaksanakan dan Anda Pasti Bisa Meraih yang Anda Inginkan
Dari cerita diatas sudah jelas sekali bagaimana bahwa secara logis bahwa kesulitan-kesulitan yang dihadapi oleh manusia itu adalah alamat dari kehidupan. Logikanya adalah bagi anda bahwa semakin banyak masalah yang anda hadapi dalam hidup ini maka semakin luas pulalah peluang anda untuk hidup yang terbuka bagi anda. Seseorang misalnya menghadapi 10 masalah yang pelik akan nampak lebih hidup dibandingkan dengan seorang yang bersikap apatis dan hanya memiliki 5 masalah.
Note :
Masalah bukan menjadi alasan kita untuk menghindarinya, namun dengan masalah kita menjadi lebih dewasa dan lebih terbuka menghadapi hidup ini.