1. PENGERTIAN ARRAY
Array (larik) merupakan tipe data tersetruktur dimana didalamnya terdiri dari komponen – komponen yang mempunyai tipe data yang sama. Didalam suatu array jumlah komponen banyaknya adalah tetap. Didalam suatu larik atau array setiap kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya.
Logika sederhananya array itu bisa disamakan dengan dua orang dengan nama yang sama didalam suatu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain maka diberikan initial tambahan untuk setiap nama.
2 ARRAY BERDIMENSI SATU
Sebuah array dimensi satu, yang misalnya kita beri nama NILAI,
Subscript atau indeks dari elemen array menyatakan posisi, elemen pada urutan dalam
array tersebut. Notasi yang digunakan bagi elemen array, biasanya adalah nama array
dilengkapi dengan subcript.
Secara umum, suatu array dimensi satu A dengan tipe data T dan subscript bergerak
dari L sampai dengan U, ditulis sebagai A(L:U) = (A(l)), I = L, L+1, L+2,..., U, dan setiapelemen A(l) bertipe data T.
Sebagai contoh, :
kita dapat menuliskan data hasil pencatatan suhu suatu ruangan
setiap satu jam selama periode 24 jam, dalam sebuah array dimensi satu.
Harga minimum dari subscript dari array disebut batas bawah atau lower bound,
sedangkan harga maksimumnya disebut batas atas atau upper bound. Jadi pada array di
atas, L merupakan batas bawah, dan U batas atas. Sedangkan untuk array ‘’suhu’’ yang
elemennya dapat kita tulis sebagai SUHU(I), batas bawahnya adalah 1 dan batas atasnya
24. SUHU(I) menyatakan suhu pada jam ke-1, dan I memenuhi 1 <= I <= 24, I merupakaninteger.
Batas bawah dari array, pada beberapa aplikasi, tidak selalu diambil 1. Kadang-kadang
diambil batas bawah nol, bahkan juga negatif. Banyaknya elemen sebuah array disebut
rentang atau range. Jadi array A(L:U) mempunyai range sebesar U-L+1. Secara khusus
bila L=l dan U=N, maka range dari array A(l:N) adalah N-I+1 = N.
3. ARRAY DIMENSI BANYAK
Sebuah array dimensi banyak atau multi-dimensional array didefinisikan sebagai sebuah
array yang elemennya berupa array pula. Misal array B mempunyai M elemen berupa
array pula, yang terdiri dari N elemen.
Untuk itu diperlukan dua buah subscript. Yang pertama digunakan untuk menyatakan
posisi baris, sedangkan yang kedua untuk posisi kolom. Secara umum array dimensi dua
B, dengan elemen bertipe data T, subscript baris dari l sampai M, subscript kolom dari l
sampai N, ditulis sebagai B(1:M, 1:N) = (B(I,J)), I = 1, 2, ...,M dan J = 1, 2,...,N dengan
setiap elemen B(I,J) bertipe data T. Array B tersebut dikatakan berukuran atau berorder Mx N. Di sini banyak elemen array adalah M*N.
Contoh dari array dimensi dua sangat banyak :
kita jumpai. Misalnya nilai ujian 500 mahasiswa Gunadarma tingkat 3, untuk 8 mata kuliah dapat kita sajikan sebagai array dimensi dua yang berorder 500 x 8. Elemen B(I,J) menyatakan nilai mahasiswa ke-I
untuk mata kuliah ke-J. Seperti halnya pada array dimensi satu, pada array dimensi dua batas bawah untuk subscript I maupun J dapat diambil secara umum. Misalnya, batas bawah subscript baris adalah L1 subscript kolom adalah L2 sedangkan batas atas subscript baris adalah U1 dan untuk kolom adalah U2, maka array dimensi dua tersebut dapat dinotasikan sebagai: B(L1:U1, L2:U2) = (B(I,J)), L1 <= 1 <= U1, L2 <=J <= U2
dengan setiap elemen B(I,J) bertipe data T. Banyaknya elemen pada setiap baris adalah
U2 – L2 + 1 dan pada setiap kolom adalah U1–L1+l, sehingga banyaknya elemen pada
array B semua ada = (U2-L2 +1) * (U1-L1 +1).
Yang dimaksud dengan cross-section suatu array berdimensi dua adalah pengambilan
salah satu subscript, misalnya subscript baris untuk tetap atau konstan, sementara subscriptyang satunya lagi kita ubah-ubah sepanjang rangenya. Notasi yang umum digunakan adalahnotasi * (asterisk) bagi subscript yang berubah-ubah nilainya tersebut.
Contohnya, penulisan B(*,4) menyatakan semua elemen pada kolom ke-4, yakni
(B(1,4),B(2,4), B(3,4) ...., B(M,4)),
Dengan mudah dapat dimengerti bahwa B(11,*) menunjukkan semua elemen pada
baris ke-11.
Transpose dari suatu array dimensi dua adalah penulisan baris menjadi kolom (kolom
menjadi baris) dari suatu array. Jadi transpose dari array berorder M x N adalah array
berorder N x M. Transpose dari array B dinotasikan sebagai BT. Berdasarkan definisi, makajelas B(I,J) = BT(J,I). Contohnya B(3,5) = BT(5,3).
Pengertian di atas dapat kita perluas untuk array dimensi tiga, dimensi empat, sampai
dimensi N. Array dimensi N kita tulis sebagai :
A(L1:U1, L2:U2, …, LN: UN) = (A(I1, I2, …, IN))
dengan Lk <= Ik <= Uk, untuk setiap k = 1, 2, …, N.
Banyaknya elemen dari array A tersebut adalah :
PI(Uk - Lk + 1) = (U1-L1+1) * (U2 – L2+1) … * (UN -LN + 1)
Contoh array dimensi tiga adalah :
penyajian data mengenai banyaknya mahasiswa dari-20 perguruan tinggi di Jakarta, berdasarkan tingkat (tingkat 1, 2 sampai dengan 5), dan jenis kelamin (pria atau wanita). Misalnya array tersebut dinamakan MHS. Ambil sebagai subscript pertama, tingkat : I = 1, 2,...,5; subscript kedua, jenis kelamin (pria = 1, wanita = 2): J = 1,2, dan subscript ke-3, Perguruan Tinggi adalah K = 1,2,...,20. Jadi MHS(4,2,17) menyatakan jumlah mahasiswa tingkat 4, wanita, dari perguruan tinggike 17.
Pengertian cross-section pada array dimensi banyak, adalah sama seperti pada array
dimensi dua. Misalnya MHS(4,*,17) menunjukkan jumlah mahasiswa tingkat 4 dari
perguruan tinggi 17 (masing-masing untuk pria serta wanita). MHS(*,*,3)
menunjukkan jumlah mahasiswa untuk masing-masing tingkat, pria serta wanita,
dari perguruan tinggi 3.
4. MENDEKLARASIKAN ARRAY DALAM BAHASA PEMROGRAMAN
Misalkan kita hendak mendeklarasikan array TEMP yang merupakan array dimensi
satu dengan nilai subscript 1 sampai 24, dan masing-masing elemen bertipe data integer
(nilainya antara 0 hingga 99 derajat).
Dalam Bahasa COBOL dapat ditulis:
01 TABEL-TEMP
02 TEMP OCCURS 24 TIMES PIC 99.
Dalam bahasa Pascal:
var temp: array l..24) of integer
Dalam Bahasa BASIC, kita dapat mendefinisikan array TEMP tersebut dengan statement:
DIM TEMP(24)
Tiga hal harus dikemukakan dalam mendeklarasikan suatu array, yakni:
1. nama array
2. range dari subscript
3. tipe data dari elemen array
Bahasa Pascal memperkenankan batas bawah subscript yang bukan =1, contohnya
adalah:
var grafik : array [-100 ..100] of integer
Dalam COBOL subscript harus dimulai dari 1.
Untuk menyatakan elemen ke-I dari array, COBOL dan BASIC menggunakan kurung
biasa, yakni TEMP(I), sedangkan Pascal menggunakan kurung siku, yakni temp[i].
Untuk mendeklarasikan sebuah array nilai dari 500 mahasiswa untuk 8 mata kuliah,
dalam COBOL ditulis:
01 TABEL-NILAI
02 MHS OCCURS 500 TIMES
03 NILAI OCCURS 8 TIMES
PIC 99V9.
Dalam Pascal ditulis:
var nilai : Array[1..500,1..8] of real
dan dalam BASIC dapat ditulis
DIM NILAI(500,8)
Dalam COBOL maksimum dimensi yang dapat diterima adalah 3 (three dimensional),
contohnya:
01 MHS-TABEL
02 TINGKAT OCCURS 5 TIMES
03 SEX OCCURS 2 TIMES
04 MHS OCCURS 20 TIMES
PIC 9(5).
dan dalam Pascal:
var mhs : Array[1..5, 1..2, 1..20] of integer
Dalam bahasa pemrograman seperti FORTRAN dan COBOL, alokasi untuk array
dalam storage memerlukan waktu dalam proses kompilasi, karenanya batas bawah dan
batas atas harus dikemukakan ketika mendefinisikan array.
COBOL dan Pascal (juga bahasa lain yang memungkinkan pendeklarasian array) mempunyaifasilitas untuk melakukan manipulasi antarelemen array. Operasi yang sesuai dengantipe data array tersebut dapat dikerjakan dengan mudah, contohnya dalam COBOL.
COMPUTE TOTAL_UPAH(I) = UPAH_PER_JAM(I) * JUMLAH-JAM(l)
Terlihat bahwa ketiga variabel di atas adalah array.
5. PEMETAAN ARRAY DIMENSI SATU KE STORAGE
Seperti halnya struktur data yang lain, ada beberapa cara untuk menyajikan array di dalammemori. Skema penyajian dapat dievaluasi berdasarkan 4 karakteristik, yakni:
1. kesederhanaan dari akses elemen
2. mudah untuk ditelusuri
3. efisiensi dari utilitasi storage
4. mudah dikembangkan
Umumnya tidaklah mungkin untuk mengoptimalkan keempat faktor tersebut
sekaligus. Pandang array satu dimensi NOPEG dengan batas bawah subscript 1, dan batas atas subscript = N. Salah satu cara untuk menyimpan array ini adalah sedemikian sehingga urutan fisik dari elemen sama dengan urutan logik dari elemen. Storage untuk elemenNOPEG(I+1) adalah berdampingan dengan storage untuk elemen NOPEG(I), untuksetiap I = 1, 2, 3,..., N-1. Untuk menghitung alamat (address) awal dari elemen NOPEG(I), diperlukan untuk mengetahui 2 hal yakni:
1. address awal dari ruang storage yang dialokasikan bagi array tersebut.
2. ukuran dari masing-masing elemen array.
Address awal dari array, kita nyatakan dengan B, disebut juga base-location. Misalkan
bahwa masing-masing elemen dari array menduduki S byte. Maka, address awal dari elemenke-I adalah:
B + (I-1) * S
Sekarang kita perluas persamaan di atas untuk mendapat address dari elemen ke-I dari
array yang mempunyai batas bawah subscript tidak sama dengan 1. Perhatikan array Z(4:10),
maka address awal dari Z(6) adalah:
B + (64) * S
Untuk array Z2 (-2:2) misalnya, address awal dari Z2(l) adalah:
B + (I -(-2)) * S
Maka secara umum, untuk array:
ARRAY(L:U),
elemen ARRAY(I) mempunyai address awal
B + (U-L) *
6. TRINGULAR ARRAY (ARRAY SEGITIGA)
Akan kita tinjau beberapa aspek pelinearan suatu array yang khusus, yakni tringular array. Tringular array dapat merupakan upper tringular (seluruh elemen di bawah diagonal utama = 0) ataupun lower tringular (seluruh elemen di atas diagonal utama = 0).
Dalam array lower triangular dengan N baris, jumlah maksimum elemen <> 0 pada
baris ke-I adalah 1, karenanya total elemen <> 0, tidak lebih dari:
N
Σ I = N ( N+1) / 2
I =I
Rumus ini berlaku pula untuk array upper tringular dengan N baris. Kalau N besar,
alangkah baiknya kalau elemen nol tidak usah kita simpan dalam memori. Suatu pendekatanterhadap problema ini adalah dengan pelinearan array, dan dengan hanya menyimpanbagian array yang tidak nol.
Misalkan kita menyimpan array upper tringular T secara baris dalam array satu dimensi
S, dengan batas subscript I sampai N(N+I)/2. Elemen T(1,1) disimpan sebagai S(1), elemenT(1,2) sebagai S(2) dan seterusnya, sehingga elemen T(1,N) disimpan sebagai S(N). Maka elemen T(2,2) disimpan sebagai S(N+1) (karena T(2,1) = 0). Terakhir sekali, elemenT(N,N) akan disimpan sebagai S(N(N+1)/2).
Kadang-kadang suatu program menggunakan lebih dari satu array tringular. Untuk
itu kita dapat menyimpan 2 array sekaligus. Misalnya array A upper triangular berorder Nx N dan array B lower triangular berorder (N-1) x (N-1). Mereka dapat kita simpan
sebagai array C berorder N x N. Di sini C(l,J) = A(l,J) untuk I <= J dan C(I+1,J) = B(I,J)
untuk I >= J. Sekarang apabila array A upper tringular berorder N x N sedangkan array B lower tringular, juga berorder N x N, maka array C yang mengandung keduanya harus berorder N x (N+1). Di sini elemen A(I,J) disimpan sebagai C(I,J+1) untuk I <= J, dan B(I,J) disimpan sebagai C(I,J) untuk I >= J.
7. RECORD
Sebuah record merupakan koleksi satuan data yang heterogen, yakni terdiri dari berbagai
type. Satuan data tersebut sering disebut sebagai field dari record. Field dipanggil dengan
menggunakan namanya masing-masing. Suatu field dapat terdiri atas beberapa subfield.
Sebagai Contoh, data personalia dari seorang pegawai suatu perusahaan di Amerika Serikat,merupakan sebuah record yang dapat terdiri dari berbagai field, dan subfield seperti berikut ini:
1. NOMOR-JAMINAN-SOSIAL
2. NAMA, yang terdiri atas:
NAMA-BELAKANG
NAMA-DEPAN
NAMA-TENGAH
3. ALAMAT, terdiri atas:
JALAN
NOMOR RUMAH
NAMA-JALAN
KOTA
NEGARA-BAGIAN
KODE-POS
4. MENIKAH
dan sebagainya lagi.
Pada record tersebut di atas, satuan data seperti NAMA BELAKANG ataupun KOTA
merupakan tipe data string, sedangkan data lain seperti GAJI POKOK, TUNJANGAN
JABATAN dan berbagai data yang akan diolah secara matematis akan disimpan dengan
tipe data numerik, bisa integer maupun real. Data MENIKAH bisa digunakan tipe data
boolean atau logikal.
Seperti telah kita paparkan terdahulu, array berbeda dengan record, yakni array bersifat
homogen (terdiri dari tipe data yang sama), dan komponen array tidak memiliki nama
sendiri, dan hanya diberi identifikasi oleh posisi mereka di dalam array. Penggunaan
keduanya di dalam program juga berbeda, jika penggunaan array pada umumnya akan
disimpan di memori utama komputer (bersifat sementara), sedangkan record biasanya
digunakan dalam filing yang akan disimpan di memori sekunder komputer, seperti hard
disk, disket, dan lainnya.
Sebuah record memberi informasi tentang berbagai kondisi dari obyek padapermasalahan yang nyata sehari-hari. Setiap field memberi uraian tentang satu atribut dari
obyeknya. Sebuah record biasanya diberi identifikasi oleh key-nya. Key atau kunci adalah
salah satu atau lebih field yang dipilih untuk tujuan penyampaian informasi yang terjadi
di dalam record yang bersangkutan.
Koleksi dari record yang sama struktur fieldnya disebut suatu file atau berkas. Jadi, koleksi
dari record semua pegawai perusahaan membentuk sebuah file personalia. Pada umumnya
record disimpan membentuk file, dalam urutan sesuai dengan nilai dari key masing-masing.
Di dalam suatu file PERSONALIA, field NOMOR JAMINAN SOSIAL dari seorang pegawai
dapat digunakan sebagai key. Di dalam bahasa pemrograman tingkat tinggi, record dapat
dinyatakan sebagai struktur data (COBOL dan PL/1) dapat diadakan spesifikasi tentang
nama record, field dan subfield yang bersangkutan.
8. ALOKASI PENGGUNA ARRAY
a. Array Static (Static Array)
array static adalah model pendeklarasian array dimana tipe data yang digunakan mempunyai nilai yang tetap. Nilai yang digunakan untuk menentukan jangkauan pada umumnya bernilai integer. Array Static juga bisa disebut Array dengan deklarasi tipe indeks subrange integer.
Bentuk Umum
array[indexType1, ..., indexTypen] of baseType
Keterangan = index type menunjukan tipe data ordinal yang menunjukan batasan atau elemen maksimul terhadap seberapa besar variabel tersebut menyimpan komponen.
Contoh
Var arrayku : array[1..5] of char
Atau juga
type
jangkauan = 1..5;
var
nilai : array[jangkauan] of integer;
b. Array Dinamis (Dynamic arrays)
Larik atau array dinamis merupakan array yang tidak mempunyai suatu jangkauan atau ukuran yang tetap. Tetapi ketika program dijalankan maka memori untuk suatu array dinamis direalokasikan ketika kita menugaskan suatu nilai kepada array. Dynamic-Array jenis ditandai oleh konstruksi (menyangkut) format
Bentuk Umum
array of baseType
Contoh
var nilai: array of Real;
Dari deklarasi tersebut nilai yang merupakan deklarasi array belum memperoleh nilai yang tetap, tetapi hanya diberikan batasan sebagai tipe data real. Untuk mendeklarasikan array tersebut kita harus menempatkan array didalam suatu memori, caranya adalah dengan memanfaatkan fungsi dari perintah sellength.
Selllength(nilai,20)
Dari penggalan program tersebut nilai untuk array nilai tersebut mempunyai range sebanyak atau cakupan 20 untuk tipe data real, dengan indeex dimulai dari 0 sampai dengan 20.
Sumber : seri diktat kuliah, pengantar struktur data Universitas Gunadarma
Rabu, 24 Februari 2010
Senin, 22 Februari 2010
Pulau Jeju, Pulau Bali Ke Dua yang terletak di Korea Selatan
Melancong ke korea, di negeri ini terdapat pulau yang terkenal dari 3000 pulau yang ada di Korea. Pulau tersebut bernama Jeju, atau dikenal dengan pulau bali yang berada di Korea. Lokasi ini terkenal, karena keindahan, lingkungan alamnya yang bersih. Sejak masa lampau, pulau Jeju terpilih sebagai tempat pariwisata terunggul untuk berbulan madu bagi masyarakat Korea dan sebagai tempat yang dirasakan memberikan nuansa istimewa bagi turis asing.
Perbedaan kota ini bila dibandingkan kota lainnya yang berada di Korea, yakni adanya pohon tropis seperti pohon kelapa, karena daerah itu diselimuti iklim samudra yang hangat dan jumlah curah hujan paling tinggi.
Pulau Jeju juga menjadi destinasi yang popular di kalangan kaum muda Korea yang ingin menikmati masa bulan madu mereka. Pada musim gugur, merupakan musim yang paling tepat untuk menikmati keindahan pantai-pantai di Pulau Jeju.
Pada musim tersebut Anda dapat menyaksikan migrasi burung-burung di Pulau Ha-do atau memilih melakukan aktivitas paragliding untuk melihat pemandangan pulau dari ketinggian. Pada bagian Timur pulau ini juga terdapat padang rumput luas yang sangat cocok untuk menggembala ternak. Daerah ini memang menjadi tempat bagi para petemak Korea selama berabad-abad. Pulau Jeju telah terkerial sebagai tempat pemeliharaan kuda sejak zaman Mongol.
Musim gugur juga menjadi musim yang pas untuk para pencinta jeruk karena saat itu jeruk jeruk di Seogwipo telah siap untuk dipetik. Untuk melindungi pohon-pohon jeruk tersebut dari angin yang kencang, telah dibangun dinding batu yang mengelilingi perkebunan. Dahulu kala, konon jeruk digunakan sebagai pembayaran upeti bagi keluarga kerajaan. Sejak tahun 1965 diketahui bahwa jeruk berkualitas tinggi dihasilkan dengan melakukan stek pada bagian akar dengan jenis varietas semak berduri asli pulau ini. Saat ini ada sekitar 12.000 petani yang menanam jeruk untuk produksinya dan memberikan pemasukan sebesar lebih dari US$ 10 juta setiap tahunnya.
Namun ketika memasuki musim dingin, salju menyelimuti Gunung Halla yang terdapat di area kepulauan ini, sehingga nuansa putihlah yang terlihat dari kejauhan. Rumah-rumah tradisional penduduk yang beratap jerami pun tertutup salju.
Sumber : http://nadinaku.blogspot.com/2009/11/pulau-jeju-pulau-bali-ke-dua-yang.html
Perbedaan kota ini bila dibandingkan kota lainnya yang berada di Korea, yakni adanya pohon tropis seperti pohon kelapa, karena daerah itu diselimuti iklim samudra yang hangat dan jumlah curah hujan paling tinggi.
Pulau Jeju juga menjadi destinasi yang popular di kalangan kaum muda Korea yang ingin menikmati masa bulan madu mereka. Pada musim gugur, merupakan musim yang paling tepat untuk menikmati keindahan pantai-pantai di Pulau Jeju.
Pada musim tersebut Anda dapat menyaksikan migrasi burung-burung di Pulau Ha-do atau memilih melakukan aktivitas paragliding untuk melihat pemandangan pulau dari ketinggian. Pada bagian Timur pulau ini juga terdapat padang rumput luas yang sangat cocok untuk menggembala ternak. Daerah ini memang menjadi tempat bagi para petemak Korea selama berabad-abad. Pulau Jeju telah terkerial sebagai tempat pemeliharaan kuda sejak zaman Mongol.
Musim gugur juga menjadi musim yang pas untuk para pencinta jeruk karena saat itu jeruk jeruk di Seogwipo telah siap untuk dipetik. Untuk melindungi pohon-pohon jeruk tersebut dari angin yang kencang, telah dibangun dinding batu yang mengelilingi perkebunan. Dahulu kala, konon jeruk digunakan sebagai pembayaran upeti bagi keluarga kerajaan. Sejak tahun 1965 diketahui bahwa jeruk berkualitas tinggi dihasilkan dengan melakukan stek pada bagian akar dengan jenis varietas semak berduri asli pulau ini. Saat ini ada sekitar 12.000 petani yang menanam jeruk untuk produksinya dan memberikan pemasukan sebesar lebih dari US$ 10 juta setiap tahunnya.
Namun ketika memasuki musim dingin, salju menyelimuti Gunung Halla yang terdapat di area kepulauan ini, sehingga nuansa putihlah yang terlihat dari kejauhan. Rumah-rumah tradisional penduduk yang beratap jerami pun tertutup salju.
Sumber : http://nadinaku.blogspot.com/2009/11/pulau-jeju-pulau-bali-ke-dua-yang.html
HANBOK : MENGENAL PAKAIAN TRADISIONAL KOREA
Hanbok adalah pakain tradisional Korea Selatan atau Choson-ot untuk sebutan di Korea Utara. Hanbok pada umumnya memiliki warna yang cerah, dengan garis yang sederhana serta tidak memiliki saku. Walaupun secara harfiah berarti “pakaian orang Korea”, hanbok pada saat ini mengacu pada ” pakaian gaya Dinasti Joseon” yang biasa dipakai secara formal atau semi-formal dalam perayaan atau festival tradisional, misalnya tahun baru seollal ( imlek ) atau perayaan chuseok.
Bagian-bagian Hanbok :
1. Jeogori: ialah bagian atas dari hanbok ( baju ).Untuk hanbok laki-laki ukurannya lebih besar dan simple, sedangkan untuk wanita agak pendek dan ditandai garis lengkung dan dekorasi yang lembut.
2.Deong Jong : yaitu krah yang berwarna yang berwarna putih .
3. Otgoreum (Cloth Strings): adalah pita yang dipakai pada baju hambok untuk wanita, yang melintang hingga ke Rok ( chima )
4. Chima : adalah rok pada bagian hanbok. Ada berbagai macam jenis chima, ada yang lapisan tunggal dan ada juga yang double.
5.Pattern: susunan gambar atau garis dan juga perpaduan warna.
Masih banyak lagi istilah bagian pada hanbok, misalnya baerae ( pada lengan ), kket dong ( lengan ) dan lain sebagainya.
Untuk hanbok pria ada ” baji ” yaitu celana untuk hanbok. biasanya bentuknya longgar.
Sumber : http://tazkiana.wordpress.com/2009/08/29/hanbok-mengenal-pakaian-tradisional-korea/
Bagian-bagian Hanbok :
1. Jeogori: ialah bagian atas dari hanbok ( baju ).Untuk hanbok laki-laki ukurannya lebih besar dan simple, sedangkan untuk wanita agak pendek dan ditandai garis lengkung dan dekorasi yang lembut.
2.Deong Jong : yaitu krah yang berwarna yang berwarna putih .
3. Otgoreum (Cloth Strings): adalah pita yang dipakai pada baju hambok untuk wanita, yang melintang hingga ke Rok ( chima )
4. Chima : adalah rok pada bagian hanbok. Ada berbagai macam jenis chima, ada yang lapisan tunggal dan ada juga yang double.
5.Pattern: susunan gambar atau garis dan juga perpaduan warna.
Masih banyak lagi istilah bagian pada hanbok, misalnya baerae ( pada lengan ), kket dong ( lengan ) dan lain sebagainya.
Untuk hanbok pria ada ” baji ” yaitu celana untuk hanbok. biasanya bentuknya longgar.
Sumber : http://tazkiana.wordpress.com/2009/08/29/hanbok-mengenal-pakaian-tradisional-korea/
Jenis Makanan Korea
Sebagian besar makanan Korea terdiri atas sajian yang sederhana seperti makanan yang disimpan dalam waktu lama, serta dikenal berasa kuat dan pedas. Banyak sajian banchan dibuat dari fermentasi, menghasilkan rasa pedas, kuat dan asin.
Setiap daerah memiliki kekhususan makanannya dan diasosiasikan dengan hidangan tertentu. Contoh Bibimbap yang berasal dari Jeonju, naengmyeon dari Pyongyang.
Masakan daging
Bulgogi
Di restoran-restoran tradisional, daging dipanggang di tengah-tengah meja menggunakan arang, dikelilingi dengan variasi banchan. Daging dipotong kecil-kecil dan dibungkus dengan daun sayuran bersama nasi, potongan bawang putih, dan ssamjang (campuran gochujang dan doenjang).
• Bulgogi : potongan daging sapi yang dipanggang dengan kecap, minyak wijen, bawang putih, bawang bombai dan lada hitam. Bulgogi berarti “daging api”. Variasinya: daging babi (dwaeji-bulgogi), ayam (dak-bulgogi), dan sotong (ojingeo-bulgogi).
• Galbi : daging iga babi atau sapi yang dipanggang dengan arang dan dibumbui. Potongannya lebih tipis dari bulgogi dan disebut sebagai barbecue Korea. Variasi: dari ayam disebut dakgalbi, jokbal atau kaki babi yang disajikan dengan saus kerang asin.
• Samgyeopsal : daging perut babi yang dipanggang tanpa/dengan bumbu seperti cara memanggang galbi.
• Hoe : makanan laut mentah yang dicelupkan dengan saus cabai (gochujang) atau dengan kecap asin ditambah wasabi, lalu dimakan dengan daun selada.
• Sannakji atau gurita hidup. Sannakji yang dimakan mentah biasanya masih hidup di atas meja.
• Makchang (막창): jeroan babi panggang yang disajikan seperti samgyeopsal dan galbi. Makanan jenis ini khas Daegu dan propinsi Gyeongsang.
• Gobchang (곱창): sama dengan makchang, namun dengan jeroan babi atau sapi muda.
Makanan kerajaan
Artikel utama untuk bagian ini adalah: Kuliner istana Korea
• Gujeolpan (구절판): berarti "piring yang terbagi sembilan", makanan ini terdiri atas beberapa jenis sayuran dan daging yang disajikan dalam lapisan pancake. Gujeolpan biasa disajikan saat perayaan atau acara tertentu seperti pernikahan.
• Sinseollo (신선로): lasagna sayuran dan daging gaya Korea.
Sup dan makanan berkuah
Sundubu JJigae
• Budae jjigae (부대찌개, "sup militer"): sehabis perang Korea, daging sangat langka, jadi orang-orang memanfaatkan kelebihan makanan dari basis militer tentara AS, seperti hot-dog dan ham kaleng dan memasaknya dalam sup tradisional. Budae jjigae sangat terkenal di Korea Selatan dan sering dimasak bersama ramyon (mi instan).
• Doenjang jjigae (된장찌개): sup pasta kacang kedelai, disajikan sebagai hidangan utama atau disajikan bersama hidangan daging. Isinya bervariasi dari sayuran, tahu, kerang, udang, ikan dan sebagainya.
• Cheonggukjang jjigae (청국장찌개): sup yang dibuat dari pasta kacang kedelai fermentasi yang berbau menusuk.
• Gamjatang (감자탕, "sup kentang"): sup pedas tulang babi, dengan sayuran dan kentang.
• Haejangguk (해장국): sup tulang babi dengan sayuran, kol kering, dan puding darah sapi. Cerita menyebutkan bahwa makanan ini ditemukan oleh sebuah restoran di Jongno (Seoul) setelah berakhirnya Perang Dunia II.
• Janchi guksu (잔치국수): mie yang disajikan dengan rumput laut, kimchi, telur dan sayuran.
• Jeongol (전골) : sup tradisional yang pedas, isinya terdiri dari makanan laut dan sayuran.
Samgyetang, supayam ginseng.
• Kimchi jjigae (김치찌개): Sup yang terdiri dari isi kimchi, daging babi/sapi. Sering dijadikan sebagai santap siang atau sebagai hidangan sampingan makanan daging-dagingan. Disajikan dalam panci batu dan masih mendidih saat tiba di meja.
• Mae-woon tang (매운탕): sup ikan pedas.
• Samgyetang (삼계탕): sup yang terbuat dari daging ayam utuh yang diisi ginseng, hedysarum, nasi manis, jojoba, bawang putih dan kacang berangan. Samgyetang populer dikonsumsi sebagai sumber nutrisi pada musim panas, dimana warga Korea kehilangan banyak energi karena cuaca panas.
• Seolleongtang (설렁탕): sup kaki sapi yang dimasak sampai 10 jam lebih sampai berwarna putih susu. Biasa disajikan dalam semangkuk mie dan potongan daging sapi.
• Sundubu jjigae (순두부 찌개): sup tahu (dubu) pedas.
Nasi campur
• Bibimbap (비빔밥, "nasi campur"): makanan khas kota Jeonju, yaitu nasi yang dicampur berbagai macam sayuran, daging sapi, telur, dan gochujang. Variasi: dolsot bibimbap (돌솥 비빔밥), bibimbap yang disajikan dengan panci batu panas. Yukhoe bibimbap adalah bibimbap dengan daging sapi cincang mentah (yukhoe), ditambah telur mentah di atasnya. Bibimbap dimakan setelah nasi dan lauk diaduk dengan sendok hingga tercampur.
• Hoedeopbap (회덮밥): potongan ikan mentah yang dicampur dengan sayuran, nasi dan gochujang.
Banchan (lauk pauk)
• Kimchi: sayuran (biasanya dari kubis, sawi, lobak putih, atau ketimun) yang difermentasikan dengan bahan rempah seperti jahe, bawang putih, bawang bombai dan bubuk cabai. Terdapat banyak variasi berdasarkan cara membuat di masing-masing rumah tangga.
• Kongnamul (콩나물): Kecambah yang dikonsumsi dengan banchan yang direbus atau dibumbui. Variasinya: kongnamul-bap (kecambah dengan nasi), kongnamul-guk (sup kecambah),dan kongnamul-gukbap (nasi dengan sup kecambah).
Mie
Mul Naengmyeon dengan mandu
• Naengmyeon (냉면; Korea Utara: 랭면, Raengmyŏn; "mie dingin"): mie khas Pyeongyang yang biasa dikonsumsi pada musim panas. Terdapat banyak jenisnya, umumnya mie tipis yang terbuat dari tepung buckwheat (jenis gandum), dihidangkan dengan kuah tulang sapi, ditambah macam-macam bumbu, sayuran, telur rebus dan daging sapi. Naengmyeon jenis ini disebut juga mul naengmyeon (naengmyeon air) untuk membedakannya dengan Bibim Naengmyeon, yang tidak berkuah, namun dicampur dengan gochujang yang pedas lalu dililit seperti sate. Variasi lainnya adalah mulhoe naengmyeon atau naengmyeon dengan makanan laut.
• Japchae (잡채): tumisan dangmyeon. Dangmyeon (bihun) terbuat dari tepung kentang, lalu dimasak dengan sayuran, daging sapi dan bumbu rempah-rempah, kadang-kadang juga divariasikan dengan tambahan makanan laut contohnya haemul japchae (japchae gurita).
• Jajangmyeon (자장면): mie saus kacang kedelai hitam yang sangat digemari di Korea. Asalnya adalah mie khas Beijing (RRT) yang diadaptasikan dengan cita rasa Korea.
• Kalguksu (칼국수): mie tipis dengan kuah ikan tuna dan sayuran.
• Ramyeon (라면): mie ramen khas Korea, namun agak berbeda dengan ramen dari Jepang. Ramyeon Korea dapat pula berarti mie instan yang dijual kemasan. Ramyeon dimasak dengan kuah yang sangat pedas dan biasanya ditambah sayuran, daging atau kimchi.
Sumber : http://koreanhakgyosolo.blogspot.com/2009/08/jenis-makanan-korea.html
Setiap daerah memiliki kekhususan makanannya dan diasosiasikan dengan hidangan tertentu. Contoh Bibimbap yang berasal dari Jeonju, naengmyeon dari Pyongyang.
Masakan daging
Bulgogi
Di restoran-restoran tradisional, daging dipanggang di tengah-tengah meja menggunakan arang, dikelilingi dengan variasi banchan. Daging dipotong kecil-kecil dan dibungkus dengan daun sayuran bersama nasi, potongan bawang putih, dan ssamjang (campuran gochujang dan doenjang).
• Bulgogi : potongan daging sapi yang dipanggang dengan kecap, minyak wijen, bawang putih, bawang bombai dan lada hitam. Bulgogi berarti “daging api”. Variasinya: daging babi (dwaeji-bulgogi), ayam (dak-bulgogi), dan sotong (ojingeo-bulgogi).
• Galbi : daging iga babi atau sapi yang dipanggang dengan arang dan dibumbui. Potongannya lebih tipis dari bulgogi dan disebut sebagai barbecue Korea. Variasi: dari ayam disebut dakgalbi, jokbal atau kaki babi yang disajikan dengan saus kerang asin.
• Samgyeopsal : daging perut babi yang dipanggang tanpa/dengan bumbu seperti cara memanggang galbi.
• Hoe : makanan laut mentah yang dicelupkan dengan saus cabai (gochujang) atau dengan kecap asin ditambah wasabi, lalu dimakan dengan daun selada.
• Sannakji atau gurita hidup. Sannakji yang dimakan mentah biasanya masih hidup di atas meja.
• Makchang (막창): jeroan babi panggang yang disajikan seperti samgyeopsal dan galbi. Makanan jenis ini khas Daegu dan propinsi Gyeongsang.
• Gobchang (곱창): sama dengan makchang, namun dengan jeroan babi atau sapi muda.
Makanan kerajaan
Artikel utama untuk bagian ini adalah: Kuliner istana Korea
• Gujeolpan (구절판): berarti "piring yang terbagi sembilan", makanan ini terdiri atas beberapa jenis sayuran dan daging yang disajikan dalam lapisan pancake. Gujeolpan biasa disajikan saat perayaan atau acara tertentu seperti pernikahan.
• Sinseollo (신선로): lasagna sayuran dan daging gaya Korea.
Sup dan makanan berkuah
Sundubu JJigae
• Budae jjigae (부대찌개, "sup militer"): sehabis perang Korea, daging sangat langka, jadi orang-orang memanfaatkan kelebihan makanan dari basis militer tentara AS, seperti hot-dog dan ham kaleng dan memasaknya dalam sup tradisional. Budae jjigae sangat terkenal di Korea Selatan dan sering dimasak bersama ramyon (mi instan).
• Doenjang jjigae (된장찌개): sup pasta kacang kedelai, disajikan sebagai hidangan utama atau disajikan bersama hidangan daging. Isinya bervariasi dari sayuran, tahu, kerang, udang, ikan dan sebagainya.
• Cheonggukjang jjigae (청국장찌개): sup yang dibuat dari pasta kacang kedelai fermentasi yang berbau menusuk.
• Gamjatang (감자탕, "sup kentang"): sup pedas tulang babi, dengan sayuran dan kentang.
• Haejangguk (해장국): sup tulang babi dengan sayuran, kol kering, dan puding darah sapi. Cerita menyebutkan bahwa makanan ini ditemukan oleh sebuah restoran di Jongno (Seoul) setelah berakhirnya Perang Dunia II.
• Janchi guksu (잔치국수): mie yang disajikan dengan rumput laut, kimchi, telur dan sayuran.
• Jeongol (전골) : sup tradisional yang pedas, isinya terdiri dari makanan laut dan sayuran.
Samgyetang, supayam ginseng.
• Kimchi jjigae (김치찌개): Sup yang terdiri dari isi kimchi, daging babi/sapi. Sering dijadikan sebagai santap siang atau sebagai hidangan sampingan makanan daging-dagingan. Disajikan dalam panci batu dan masih mendidih saat tiba di meja.
• Mae-woon tang (매운탕): sup ikan pedas.
• Samgyetang (삼계탕): sup yang terbuat dari daging ayam utuh yang diisi ginseng, hedysarum, nasi manis, jojoba, bawang putih dan kacang berangan. Samgyetang populer dikonsumsi sebagai sumber nutrisi pada musim panas, dimana warga Korea kehilangan banyak energi karena cuaca panas.
• Seolleongtang (설렁탕): sup kaki sapi yang dimasak sampai 10 jam lebih sampai berwarna putih susu. Biasa disajikan dalam semangkuk mie dan potongan daging sapi.
• Sundubu jjigae (순두부 찌개): sup tahu (dubu) pedas.
Nasi campur
• Bibimbap (비빔밥, "nasi campur"): makanan khas kota Jeonju, yaitu nasi yang dicampur berbagai macam sayuran, daging sapi, telur, dan gochujang. Variasi: dolsot bibimbap (돌솥 비빔밥), bibimbap yang disajikan dengan panci batu panas. Yukhoe bibimbap adalah bibimbap dengan daging sapi cincang mentah (yukhoe), ditambah telur mentah di atasnya. Bibimbap dimakan setelah nasi dan lauk diaduk dengan sendok hingga tercampur.
• Hoedeopbap (회덮밥): potongan ikan mentah yang dicampur dengan sayuran, nasi dan gochujang.
Banchan (lauk pauk)
• Kimchi: sayuran (biasanya dari kubis, sawi, lobak putih, atau ketimun) yang difermentasikan dengan bahan rempah seperti jahe, bawang putih, bawang bombai dan bubuk cabai. Terdapat banyak variasi berdasarkan cara membuat di masing-masing rumah tangga.
• Kongnamul (콩나물): Kecambah yang dikonsumsi dengan banchan yang direbus atau dibumbui. Variasinya: kongnamul-bap (kecambah dengan nasi), kongnamul-guk (sup kecambah),dan kongnamul-gukbap (nasi dengan sup kecambah).
Mie
Mul Naengmyeon dengan mandu
• Naengmyeon (냉면; Korea Utara: 랭면, Raengmyŏn; "mie dingin"): mie khas Pyeongyang yang biasa dikonsumsi pada musim panas. Terdapat banyak jenisnya, umumnya mie tipis yang terbuat dari tepung buckwheat (jenis gandum), dihidangkan dengan kuah tulang sapi, ditambah macam-macam bumbu, sayuran, telur rebus dan daging sapi. Naengmyeon jenis ini disebut juga mul naengmyeon (naengmyeon air) untuk membedakannya dengan Bibim Naengmyeon, yang tidak berkuah, namun dicampur dengan gochujang yang pedas lalu dililit seperti sate. Variasi lainnya adalah mulhoe naengmyeon atau naengmyeon dengan makanan laut.
• Japchae (잡채): tumisan dangmyeon. Dangmyeon (bihun) terbuat dari tepung kentang, lalu dimasak dengan sayuran, daging sapi dan bumbu rempah-rempah, kadang-kadang juga divariasikan dengan tambahan makanan laut contohnya haemul japchae (japchae gurita).
• Jajangmyeon (자장면): mie saus kacang kedelai hitam yang sangat digemari di Korea. Asalnya adalah mie khas Beijing (RRT) yang diadaptasikan dengan cita rasa Korea.
• Kalguksu (칼국수): mie tipis dengan kuah ikan tuna dan sayuran.
• Ramyeon (라면): mie ramen khas Korea, namun agak berbeda dengan ramen dari Jepang. Ramyeon Korea dapat pula berarti mie instan yang dijual kemasan. Ramyeon dimasak dengan kuah yang sangat pedas dan biasanya ditambah sayuran, daging atau kimchi.
Sumber : http://koreanhakgyosolo.blogspot.com/2009/08/jenis-makanan-korea.html
Sabtu, 20 Februari 2010
JENIS-JENIS DATA
JENIS-JENIS DATA
A. Jenis Data Menurut Cara Memperolehnya
1. Data Primer
Data primer adalah secara langsung diambil dari objek / obyek penelitian oleh peneliti perorangan maupun organisasi. Contoh : Mewawancarai langsung penonton bioskop 21 untuk meneliti preferensi konsumen bioskop.
2. Data Sekunder
Data sekunder adalah data yang didapat tidak secara langsung dari objek penelitian. Peneliti mendapatkan data yang sudah jadi yang dikumpulkan oleh pihak lain dengan berbagai cara atau metode baik secara komersial maupun non komersial. Contohnya adalah pada peneliti yang menggunakan data statistik hasil riset dari surat kabar atau majalah.
B. Macam-Macam Data Berdasarkan Sumber Data
1. Data Internal
Data internal adalah data yang menggambarkan situasi dan kondisi pada suatu organisasi secara internal. Misal : data keuangan, data pegawai, data produksi, dsb.
2. Data Eksternal
Data eksternal adalah data yang menggambarkan situasi serta kondisi yang ada di luar organisasi. Contohnya adalah data jumlah penggunaan suatu produk pada konsumen, tingkat preferensi pelanggan, persebaran penduduk, dan lain sebagainya.
C. Klasifikasi Dara Berdasarkan Jenis Datanya
1. Data Kuantitatif
Data kuantitatif adalah data yang dipaparkan dalam bentuk angka-angka. Misalnya adalah jumlah pembeli saat hari raya idul adha, tinggi badan siswa kelas 3 ips 2, dan lain-lain.
2. Data Kualitatif
Data kualitatif adalah data yang disajikan dalam bentuk kata-kata yang mengandung makna. Contohnya seperti persepsi konsumen terhadap botol air minum dalam kemasan, anggapan para ahli terhadap psikopat dan lain-lain.
D. Pembagian Jenis Data Berdasarkan Sifat Data
1. Data Diskrit
Data diskrit adalah data yang nilainya adalah bilangan asli. Contohnya adalah berat badan ibu-ibu pkk sumber ayu, nilai rupiah dari waktu ke waktu, dan lain-sebagainya.
2. Data Kontinyu
Data kontinyu adalah data yang nilainya ada pada suatu interval tertentu atau berada pada nilai yang satu ke nilai yang lainnya. Contohnya penggunaan kata sekitar, kurang lebih, kira-kira, dan sebagainya. Dinas pertanian daerah mengimpor bahan baku pabrik pupuk kurang lebih 850 ton.
E. Jenis-jenis Data Menurut Waktu Pengumpulannya
1. Data Cross Section
Data cross-section adalah data yang menunjukkan titik waktu tertentu. Contohnya laporan keuangan per 31 desember 2006, data pelanggan PT. angin ribut bulan mei 2004, dan lain sebagainya.
2. Data Time Series / Berkala
Data berkala adalah data yang datanya menggambarkan sesuatu dari waktu ke waktu atau periode secara historis. Contoh data time series adalah data perkembangan nilai tukar dollar amerika terhadap euro eropa dari tahun 2004 sampai 2006, jumlah pengikut jamaah nurdin m. top dan doktor azahari dari bulan ke bulan, dll.
TIPE DATA
Secara umum jenis-jenis data dapat dikelompokkan atas 2 bagian, yaitu :
1. Jenis data primitif, terdiri atas :
a. Integer
Suatu integer adalah anggota dari himpunan bilangan :
( ....., -(n+1), -n, ....., -2, -1, 0, 1, 2, ....., n, n+1, ..... )
Operasi-operasi dasar yang ada dalam integer antara lain :
Ÿ Penjumlahan
Ÿ Pengurangan
Ÿ Perkalian
Ÿ Pembagian
Ÿ Perpangkatan, dsb
Masing-masing operator pada operasi di atas, yang bekerja terhadap sepasang integer (operand) disebut sebagai : "binary operator". Sedangkan operator yang hanya bekerja terhadap satu operand saja disebut sebagai "unary operator". Contoh dari unary operator adalah operator negasi. Operator ini berfungsi untuk mengubah tanda suatu operand
b. Real
Data numerik yang bukan termasuk integer, digolongkan dalam jenis data real. Jenis data ini ditulis menggunakan titik desimal (atau koma desimal). Bilangan real dimasukkan ke dalam memori komputer memakai sistem floating point, merupakan versi yang disebut Scientific Notation. Disini penyajiannya terdiri atas dua bagian, yaitu : mantissa (pecahan) & eksponen.
Contoh :
Di dalam sistim desimal, 123000 = 0.123 * 106.
Di sini 0.123 adalah mantissa atau pecahan, sedangkan 6 adalah eksponennya.
Secara umum suatu bilangan real X dituliskan M * RE
c. Boolean
Jenis data ini disebut juga jenis data "logical". Elemen dari jenis data ini mempunyai nilai salah satu dari "true" atau "false". Operator-operator yang dikenal pada jenis data ini terdiri atas:
A.Operator Logika, yaitu : NOT, AND dan OR.
• Ÿ Operator OR akan menghasilkan nilai "true", jika salah satu atau kedua operand bernilai "true".
• Ÿ Operator AND akan menghasilkan nilai "true", jika kedua operand bernilai "true".
• Ÿ Sedangkan operator NOT akan menghasilkan nilai "true", jika operand bernilai "false", dan sebaliknya.
• Ÿ Operator NOT merupakan "precedence" dari operator AND dan OR.
Dalam suatu ekspresi yang tidak menggunakan tanda kurung, operator NOT harus dievaluasi sebelum operator AND dan OR.
B. Operator Relasional, yaitu : >, <, >=, <=, <> dan =.
d. Karakter
Jenis data karakter merupakan elemen dari suatu himpunan yang terdiri atas bilangan, abjad dan simbol-simbol khusus. Sedangkan jenis data string merupakan jenis data campuran, karena elemen-elemennya dibentuk dari karakter-karakter di atas. Karakter yang digunakan untuk membentuk suatu string disebut sebagai alphabet. Dalam penulisannya, suatu string berada dalam tanda "aphosthrope".
Contoh :
Misal, diberikan himpunan alphabet A = { C, D, 1 }.
String-string yang dapat dibentuk dari alphabet di atas antara lain adalah :
'CD1', 'CDD', 'DDC', 'CDC1', ...dsb, termasuk "null string" atau "empty string".
2. Jenis data campuran, yaitu : "String".
Himpunan yang anggotanya adalah semua string yang dapat dibentuk dari suatu himpunan alphabet disebut sebagai "vocabulary". Suatu vocabulary V yang dihasilkan dari himpunan alphabet A dinotasikan dengan VA atau A*.
Jika suatu string dibentuk dari alphabet { 0, 1 }, maka string yang terbentuk disebut dengan "Bit String".
Secara umum, suatu string S yang dibentuk dari himpunan alphabet A, dituliskan :
S = 'a1a2 ..... aN'
di mana setiap karakter ai anggota A untuk, 1 i N.
Dalam suatu string terdapat 3 operasi utama, yaitu :
1. Length
Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string.
Contoh :
A. Jika diberikan string S = 'a1a2 ..... aN'.
Maka LENGTH(S) = N.
B. Jika diberikan string S = 'ABCD13AB', maka LENGTH(S) = 8.
2. Concatenation
Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan dari kedua string tersebut. Operasi ini hampir sama dengan operasi gabungan. Jika S1 dan S2 masing-masing adalah suatu string, maka bentuk operasi concatenation dinotasikan dengna : CONCAT(S1,S2).
Contoh :
Misal S1 = 'a1a2 ..... aN' dan S2 = 'b1b2 ..... bM'
Maka CONCAT(S1,S2) = ' a1a2 ..... aNb1b2 ..... bM'
Panjang dari string yang baru (resultan) merupakan jumlah panjang dari masing-masing string atau :
LENGTH(CONCAT(S1,S2)) = LENGTH(S1) + LENGTH(S2)
3. Substring
Operasi ini adalah operasi membentuk string baru, yang merupakan bagian dari string yang diketahui. Notasi adalah :
SUBSTR(S,i,j)
di mana : S = string yang diketahui. i dan j adalah integer
i = posisi awal substring, 0 i LENGTH(S)
j = banyak karakter yang diambil, 0 j LENGTH(S) dan 0 i+j-1 LENGTH(S)
Contoh :
Diberikan S = 'a1a2 ..... aN' ; i = 2 ; j = 4.
Maka SUBSTR(S,i,j) = SUBSTR(S,2,4) = 'a2a3a4a5'
Catatan :
1. LENGTH(SUBSTR(S,i,j)) = j
2. SUBSTR(CONCAT(S1,S2),1,LENGTH(S1)) = S1
3. SUBSTR(CONCAT(S1,S2),LENGTH(S1)+1,LENGTH(S2)) = S2
DEKLARASI DATA
Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan apabila dalam penulisan program dibutuhkan indentifier atau tanda pengenal. Indentifier pada umumnya di buat oleh progremmmer yang digunakan untuk mewakili nilai dari suatu object.
Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi, procedure maupun variabel.
Deklarasi Konstanta
Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan indentifier yang diberi sebuah nilai.
Contoh
procedure TForm2.etertulisChange(Sender: TObject);
const
nil1:='30000';
begin
end;
Deklarasi Variabel
Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang dibutuhkan.
Contoh
procedure TForm2.EpraktekKeyPress(Sender: TObject; var Key: Char);
var
praktek,nil2,nil1 :real;
begin
if (key = #13) then
begin
nil1 := strtofloat(ehtulis.Text);
praktek:= strtofloat(epraktek.Text);
nil2:= 0.4 * praktek;
ehpraktek.Text := floattostr(nil2);
form2.ActiveControl := cmi;
emurni.Text := floattostr(nil1 + nil2);
if nil1 > 60 then
egrade.Text := 'Lulus'
else
egrade.Text := 'Gagal'
end;
end;
Organisasi logic & fisik dari struktur data
Dalam satu Lembaga atau Organisasi, baik yang bersifat komersial dan industrial, bahkan organisasi yang bagaimanapun bentuknya, Data dipandang sebagai suatu kekayaan yang penting dan mahal. Memang kadang-kadang sulit untuk didapat.
Komposisi data dan logika dari algoritma yang memanfaatkan data tersebut berhubungan sangat erat. Data sederhana dapat kita himpun ke dalam suatu Struktur Data yang memuat informasi tentang hubungan antara item yang terdapat didalamnya. Data sederhana yang kita kenal, terdiri dari berbagai jenis atau type. Untuk mengelola data yang bermacam-macam jenis tersebut secara baik, guna menghasilkan informasi, pengetahuan mengenai struktur data amatlah penting. Struktur Data adalah koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefenisaikan terhadapnya. Struktur data sangat penting dalam sistem komputer. Terhadap setiap variabel didalam program, secara eksplisit ataupun implisit, didefenisikan struktur data yang akan menentukan operasi yang berlaku terhadap variabel tersebut. Struktur data yang dibicarakan ini merupakan Struktur Data Logik. Bukan penyajian data secara fisik di storage. Pada garis besarnya, Data dapat dikatagorikan
menjadi :
A. Type Data Sederhana, atau Data Sederhana yang terdiri dari :
1. Data Sederhana Tunggal, misalnya Integer, Real, Boolean serta Karakter.
2. Data Sederhana Majemuk, misalnya String.
Type data ini dengan berbagai cara dapat diorganisasikan menjadi berbagai Struktur Data.
B. Struktur Data, meliputi :
1. Struktur Data Sederhana, misalnya Array dan Record.
2. Struktur Data Majemuk, terdiri atas :
@ Linear, misalnya Stack, Queue, serta Linear Link List.
@ Non Linear, misalnya Pohon Biner (Binary Tree), Pohon Cari Biner (Binary Search Tree), Pohon Cari M-Way (M-Way Search Tree), Tree, General Tree serta Graph.
Kedua katagori diatas, terutama diperuntukkan bagi data didalam storage utama (main storage). Data yang diperuntukan bagi storage tambahan mempunyai struktur data yang dikenal sebagai Organisasi File. Type organisasi file diantaranya adalah Organisasi Squential, Organisasi Relative, Organisasi Indexed Squential, dan Organisasi Multikey. Dua buah struktur data sederhana adalah Array dan Record. Array merupakan struktur data yang terurut dan homogen, terdiri dari item yang bertipe data sama. Sedangkan Record merupakan struktur data yang boleh terdiri atas keterangan berbagai type data. Struktur data dari tatanan yang lebih tinggi terbentuk dari Record, disini termasuk daftar linear atau linear list (terutama antrian dan tumpukan) serta Graph. Pemakain struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan menjadi lebih sederhana. Algoritma berkerja atas dasar data yang menunjukan fakta dari permasalahan kita dalam dunia nyata. Algoritma dan Data menunjukan hasil dari pelaksanaan program, dan mempunyai hubungan yang simbolik. Dalam hal ini semakin cocok komposisi data untuk suatu aplikasi tertentu, semakin mudah algoritma tersebut melaksanakan tugasnya. Untuk menyederhanakan pelaksanaan algoritma, dianjurkan untuk mengatur data menjadi suatu unsur logika yang lebih tinggi dibandingkan variabel biasa. Unsur logika tersebut membentuk Struktur Data. Dengan perkataan lain, suatu struktur data merupakan koleksi dari satuan data sederhana yang terorganisir dengan aturan tertentu. Oleh karena itu struktur data dicirikan oleh :
1. Jenis atau type data pembentuknya.
2. Hubungan antara satuan data tersebut.
Contoh :
Sebuah program akan dirancang untuk memberi simulasi kepada kemampuan kerja komputer. Algoritma simulasi ini memerlukan data tentang waktu dari pekerjaan yang akan diproses. Sejumlah satuan data terbentuk, masing-masing menunjukan waktu tiba dari pekerjaan, kebutuhan data oleh komputer, dan sebagainya. Kemudian program akan mencontoh proses dari pekerjaan semu yang dibentuk oleh sistem komputer untuk disimulasikan. Program akan menjadi lebih jelas dan lebih sederhana apabila data yang menjadi bagian dari tiap-tiap pekerjaan diorganisir ke dalam suatu unsur tunggal, yakni berupa sebuah record. Kemudian akan menjadi jelas lagi apabila record seperti itu diatur membentuk suatu struktur data yang lebih tinggi tingkatannya lagi, sehingga menjadi bentuk first-in-first-out (FIFO) sesuai dengan waktu tiba pekerjaan yang diwakilinya. Struktur data seperti ini disebut Antrean (Queue). Struktur Data tertentu seperti Array biasanya selalu tersedia bagi pemrogram didalam bahasa pemrograman tingkat tinggi yang dipakai. Namun ada pula struktur data yang tidak tersedia, seperti misalnya struktur Tumpukan (Stack). Untuk itu harus disusun sendiri oleh Pemrogram dengan menggunakan variabel bertype sederhana ataupun dari struktur data yang telah tersedia. Sebuah Array merupakan dasar dari struktur data. Sebuah Array dapat menyatukan satuan data sederhana dan sejenis yang masing-masing mendapat nama secara kolektif dan dari indeks atau subskrip yang memberikan identifikasi terhadap posisi elemennya.
Sebuah record terbentuk dari beberapa type data sederhana dan termasuk string. Data tersebut dibentuk sebagai unsur tunggal karena mereka memberikan gambaran dari obyek permasalahan yang nyata sehari-hari. Record biasanya ditingkatkan menjadi struktur data yang lebih tinggi, melalui nilai dari salah satu satuan datanya (disebut field). Variabel yang sederhana, Record dan juga Array, seperti kita katakan terdahulu, dapat diorganisir menjadi struktur data yang lebih tinggi. Struktur tersebut banyak yang bersifat dinamis, artinya bahwa dalam pelaksanaan program yang memakai struktur data tersebut, banyak komponen yang dapat berubah, ada komponen yang dapat dihilangkan dan dimasukkan.
PEMETAAN STORAGE
INTEGER
Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu :
1. Skema Sign dan Magnitude
Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu.
Contoh :
+ 7 à + 111 à representasi dengan 4 digit : 0111
- 7 à - 111 à representasi dengan 4 digit : 1111
Dengan cara ini kita akan mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya.
2. Skema One's Complement
3. Skema Two's Complement
Kedua skema ini merupakan cara yang digunakan untuk mengatasi kesulitan yang telah disebutkan di atas. Diberikan bilangan integer non negatif X, X' dan R. Didefinisikan bahwa X' adalah komplemen dari X relatif terhadap R, jika X + X' = R. X disebut sebagai bentuk true, sedangkan X' = R - X disebut bentuk komplemen. Bentuk komplemen X' = R - X menyatakan bilangan integer negatif X. Sedangkan bentuk true X menyatakan integer positif X.
Skema Two's Complement menggunakan R = 2N.
Skema One's Complement menggunakan R = 2N - 1.
Contoh :
Misal diberikan integer = 7, akan dicari bentuk binernya dengan skema Two's Complement untuk representasi 4 digit.
X = 7 ; R = 24 ; à X + X' = R
X' = R - X
= 24 - 7
= 16 - 7
= 9 à dalam biner = 1001
KARAKTER
Saat ini banyak sekali skema yang digunakan untuk merepresentasikan karakter dalam storage. Pada umumnya skema yang paling banyak digunakan adalah :
1. Extended Binary Coded Decimal Interchange Code (EBCDIC)
2. American Standard Code for Information Interchange (ASCII)
Pada skema EBCDIC digunakan kode 8 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya adalah : 28. Sedangkan skema ASCII menggunakan kode 7 bit untuk menyatakan suatu karakter. Skema ini mempunyai jumlah kemungkinan kombinasi yang lebih sedikit jika dibandingkan dengan skema EBCDIC. Selain dua skema tersebut di atas ada sebuah skema yang disebut dengan kode Huffman. Pada cara ini, jumlah bit yang digunakan tergantung dari frekuensi penggunaan suatu karakter.
STRING
Untuk mengetahui bentuk mapping pada storage dari suatu string, perlu diketahui beberapa hal yang menyangkut ruang untuk string yang bersangkutan, antara lain :
- letak posisi awal (start) dan posisi akhir (terminal)
- suatu pointer yang menunjukkan lokasi pada storage
Ada tiga cara yang umum digunakan untuk mapping suatu string ke dalam storage. Misal diberikan dua string, yaitu : S1 = 'ABCDEFG' dan S2 = 'BCD'
CARA 1
Jika diberikan suatu informasi tentang :
- nama string
- starting address
- panjang string
Contoh :
Nama String Start Panjang
String1 Ptr1 7
String2 Ptr2 3
CARA 2
Jika diberikan informasi sebagai berikut :
- nama string
- starting address
- terminal address
Misalnya diberikan tabel sbb :
Nama String Start Terminal
String1 Ptr1s Ptr1t
String2 Ptr2s Ptr2t
CARA 3
Jika diberikan informasi :
- nama string
- starting address
- suatu tanda yang menunjukkan batas string
Misalnya :
Nama String Start
String1 Ptr1
String2 Ptr2
A. Jenis Data Menurut Cara Memperolehnya
1. Data Primer
Data primer adalah secara langsung diambil dari objek / obyek penelitian oleh peneliti perorangan maupun organisasi. Contoh : Mewawancarai langsung penonton bioskop 21 untuk meneliti preferensi konsumen bioskop.
2. Data Sekunder
Data sekunder adalah data yang didapat tidak secara langsung dari objek penelitian. Peneliti mendapatkan data yang sudah jadi yang dikumpulkan oleh pihak lain dengan berbagai cara atau metode baik secara komersial maupun non komersial. Contohnya adalah pada peneliti yang menggunakan data statistik hasil riset dari surat kabar atau majalah.
B. Macam-Macam Data Berdasarkan Sumber Data
1. Data Internal
Data internal adalah data yang menggambarkan situasi dan kondisi pada suatu organisasi secara internal. Misal : data keuangan, data pegawai, data produksi, dsb.
2. Data Eksternal
Data eksternal adalah data yang menggambarkan situasi serta kondisi yang ada di luar organisasi. Contohnya adalah data jumlah penggunaan suatu produk pada konsumen, tingkat preferensi pelanggan, persebaran penduduk, dan lain sebagainya.
C. Klasifikasi Dara Berdasarkan Jenis Datanya
1. Data Kuantitatif
Data kuantitatif adalah data yang dipaparkan dalam bentuk angka-angka. Misalnya adalah jumlah pembeli saat hari raya idul adha, tinggi badan siswa kelas 3 ips 2, dan lain-lain.
2. Data Kualitatif
Data kualitatif adalah data yang disajikan dalam bentuk kata-kata yang mengandung makna. Contohnya seperti persepsi konsumen terhadap botol air minum dalam kemasan, anggapan para ahli terhadap psikopat dan lain-lain.
D. Pembagian Jenis Data Berdasarkan Sifat Data
1. Data Diskrit
Data diskrit adalah data yang nilainya adalah bilangan asli. Contohnya adalah berat badan ibu-ibu pkk sumber ayu, nilai rupiah dari waktu ke waktu, dan lain-sebagainya.
2. Data Kontinyu
Data kontinyu adalah data yang nilainya ada pada suatu interval tertentu atau berada pada nilai yang satu ke nilai yang lainnya. Contohnya penggunaan kata sekitar, kurang lebih, kira-kira, dan sebagainya. Dinas pertanian daerah mengimpor bahan baku pabrik pupuk kurang lebih 850 ton.
E. Jenis-jenis Data Menurut Waktu Pengumpulannya
1. Data Cross Section
Data cross-section adalah data yang menunjukkan titik waktu tertentu. Contohnya laporan keuangan per 31 desember 2006, data pelanggan PT. angin ribut bulan mei 2004, dan lain sebagainya.
2. Data Time Series / Berkala
Data berkala adalah data yang datanya menggambarkan sesuatu dari waktu ke waktu atau periode secara historis. Contoh data time series adalah data perkembangan nilai tukar dollar amerika terhadap euro eropa dari tahun 2004 sampai 2006, jumlah pengikut jamaah nurdin m. top dan doktor azahari dari bulan ke bulan, dll.
TIPE DATA
Secara umum jenis-jenis data dapat dikelompokkan atas 2 bagian, yaitu :
1. Jenis data primitif, terdiri atas :
a. Integer
Suatu integer adalah anggota dari himpunan bilangan :
( ....., -(n+1), -n, ....., -2, -1, 0, 1, 2, ....., n, n+1, ..... )
Operasi-operasi dasar yang ada dalam integer antara lain :
Ÿ Penjumlahan
Ÿ Pengurangan
Ÿ Perkalian
Ÿ Pembagian
Ÿ Perpangkatan, dsb
Masing-masing operator pada operasi di atas, yang bekerja terhadap sepasang integer (operand) disebut sebagai : "binary operator". Sedangkan operator yang hanya bekerja terhadap satu operand saja disebut sebagai "unary operator". Contoh dari unary operator adalah operator negasi. Operator ini berfungsi untuk mengubah tanda suatu operand
b. Real
Data numerik yang bukan termasuk integer, digolongkan dalam jenis data real. Jenis data ini ditulis menggunakan titik desimal (atau koma desimal). Bilangan real dimasukkan ke dalam memori komputer memakai sistem floating point, merupakan versi yang disebut Scientific Notation. Disini penyajiannya terdiri atas dua bagian, yaitu : mantissa (pecahan) & eksponen.
Contoh :
Di dalam sistim desimal, 123000 = 0.123 * 106.
Di sini 0.123 adalah mantissa atau pecahan, sedangkan 6 adalah eksponennya.
Secara umum suatu bilangan real X dituliskan M * RE
c. Boolean
Jenis data ini disebut juga jenis data "logical". Elemen dari jenis data ini mempunyai nilai salah satu dari "true" atau "false". Operator-operator yang dikenal pada jenis data ini terdiri atas:
A.Operator Logika, yaitu : NOT, AND dan OR.
• Ÿ Operator OR akan menghasilkan nilai "true", jika salah satu atau kedua operand bernilai "true".
• Ÿ Operator AND akan menghasilkan nilai "true", jika kedua operand bernilai "true".
• Ÿ Sedangkan operator NOT akan menghasilkan nilai "true", jika operand bernilai "false", dan sebaliknya.
• Ÿ Operator NOT merupakan "precedence" dari operator AND dan OR.
Dalam suatu ekspresi yang tidak menggunakan tanda kurung, operator NOT harus dievaluasi sebelum operator AND dan OR.
B. Operator Relasional, yaitu : >, <, >=, <=, <> dan =.
d. Karakter
Jenis data karakter merupakan elemen dari suatu himpunan yang terdiri atas bilangan, abjad dan simbol-simbol khusus. Sedangkan jenis data string merupakan jenis data campuran, karena elemen-elemennya dibentuk dari karakter-karakter di atas. Karakter yang digunakan untuk membentuk suatu string disebut sebagai alphabet. Dalam penulisannya, suatu string berada dalam tanda "aphosthrope".
Contoh :
Misal, diberikan himpunan alphabet A = { C, D, 1 }.
String-string yang dapat dibentuk dari alphabet di atas antara lain adalah :
'CD1', 'CDD', 'DDC', 'CDC1', ...dsb, termasuk "null string" atau "empty string".
2. Jenis data campuran, yaitu : "String".
Himpunan yang anggotanya adalah semua string yang dapat dibentuk dari suatu himpunan alphabet disebut sebagai "vocabulary". Suatu vocabulary V yang dihasilkan dari himpunan alphabet A dinotasikan dengan VA atau A*.
Jika suatu string dibentuk dari alphabet { 0, 1 }, maka string yang terbentuk disebut dengan "Bit String".
Secara umum, suatu string S yang dibentuk dari himpunan alphabet A, dituliskan :
S = 'a1a2 ..... aN'
di mana setiap karakter ai anggota A untuk, 1 i N.
Dalam suatu string terdapat 3 operasi utama, yaitu :
1. Length
Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string.
Contoh :
A. Jika diberikan string S = 'a1a2 ..... aN'.
Maka LENGTH(S) = N.
B. Jika diberikan string S = 'ABCD13AB', maka LENGTH(S) = 8.
2. Concatenation
Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan dari kedua string tersebut. Operasi ini hampir sama dengan operasi gabungan. Jika S1 dan S2 masing-masing adalah suatu string, maka bentuk operasi concatenation dinotasikan dengna : CONCAT(S1,S2).
Contoh :
Misal S1 = 'a1a2 ..... aN' dan S2 = 'b1b2 ..... bM'
Maka CONCAT(S1,S2) = ' a1a2 ..... aNb1b2 ..... bM'
Panjang dari string yang baru (resultan) merupakan jumlah panjang dari masing-masing string atau :
LENGTH(CONCAT(S1,S2)) = LENGTH(S1) + LENGTH(S2)
3. Substring
Operasi ini adalah operasi membentuk string baru, yang merupakan bagian dari string yang diketahui. Notasi adalah :
SUBSTR(S,i,j)
di mana : S = string yang diketahui. i dan j adalah integer
i = posisi awal substring, 0 i LENGTH(S)
j = banyak karakter yang diambil, 0 j LENGTH(S) dan 0 i+j-1 LENGTH(S)
Contoh :
Diberikan S = 'a1a2 ..... aN' ; i = 2 ; j = 4.
Maka SUBSTR(S,i,j) = SUBSTR(S,2,4) = 'a2a3a4a5'
Catatan :
1. LENGTH(SUBSTR(S,i,j)) = j
2. SUBSTR(CONCAT(S1,S2),1,LENGTH(S1)) = S1
3. SUBSTR(CONCAT(S1,S2),LENGTH(S1)+1,LENGTH(S2)) = S2
DEKLARASI DATA
Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan apabila dalam penulisan program dibutuhkan indentifier atau tanda pengenal. Indentifier pada umumnya di buat oleh progremmmer yang digunakan untuk mewakili nilai dari suatu object.
Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi, procedure maupun variabel.
Deklarasi Konstanta
Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan indentifier yang diberi sebuah nilai.
Contoh
procedure TForm2.etertulisChange(Sender: TObject);
const
nil1:='30000';
begin
end;
Deklarasi Variabel
Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang dibutuhkan.
Contoh
procedure TForm2.EpraktekKeyPress(Sender: TObject; var Key: Char);
var
praktek,nil2,nil1 :real;
begin
if (key = #13) then
begin
nil1 := strtofloat(ehtulis.Text);
praktek:= strtofloat(epraktek.Text);
nil2:= 0.4 * praktek;
ehpraktek.Text := floattostr(nil2);
form2.ActiveControl := cmi;
emurni.Text := floattostr(nil1 + nil2);
if nil1 > 60 then
egrade.Text := 'Lulus'
else
egrade.Text := 'Gagal'
end;
end;
Organisasi logic & fisik dari struktur data
Dalam satu Lembaga atau Organisasi, baik yang bersifat komersial dan industrial, bahkan organisasi yang bagaimanapun bentuknya, Data dipandang sebagai suatu kekayaan yang penting dan mahal. Memang kadang-kadang sulit untuk didapat.
Komposisi data dan logika dari algoritma yang memanfaatkan data tersebut berhubungan sangat erat. Data sederhana dapat kita himpun ke dalam suatu Struktur Data yang memuat informasi tentang hubungan antara item yang terdapat didalamnya. Data sederhana yang kita kenal, terdiri dari berbagai jenis atau type. Untuk mengelola data yang bermacam-macam jenis tersebut secara baik, guna menghasilkan informasi, pengetahuan mengenai struktur data amatlah penting. Struktur Data adalah koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefenisaikan terhadapnya. Struktur data sangat penting dalam sistem komputer. Terhadap setiap variabel didalam program, secara eksplisit ataupun implisit, didefenisikan struktur data yang akan menentukan operasi yang berlaku terhadap variabel tersebut. Struktur data yang dibicarakan ini merupakan Struktur Data Logik. Bukan penyajian data secara fisik di storage. Pada garis besarnya, Data dapat dikatagorikan
menjadi :
A. Type Data Sederhana, atau Data Sederhana yang terdiri dari :
1. Data Sederhana Tunggal, misalnya Integer, Real, Boolean serta Karakter.
2. Data Sederhana Majemuk, misalnya String.
Type data ini dengan berbagai cara dapat diorganisasikan menjadi berbagai Struktur Data.
B. Struktur Data, meliputi :
1. Struktur Data Sederhana, misalnya Array dan Record.
2. Struktur Data Majemuk, terdiri atas :
@ Linear, misalnya Stack, Queue, serta Linear Link List.
@ Non Linear, misalnya Pohon Biner (Binary Tree), Pohon Cari Biner (Binary Search Tree), Pohon Cari M-Way (M-Way Search Tree), Tree, General Tree serta Graph.
Kedua katagori diatas, terutama diperuntukkan bagi data didalam storage utama (main storage). Data yang diperuntukan bagi storage tambahan mempunyai struktur data yang dikenal sebagai Organisasi File. Type organisasi file diantaranya adalah Organisasi Squential, Organisasi Relative, Organisasi Indexed Squential, dan Organisasi Multikey. Dua buah struktur data sederhana adalah Array dan Record. Array merupakan struktur data yang terurut dan homogen, terdiri dari item yang bertipe data sama. Sedangkan Record merupakan struktur data yang boleh terdiri atas keterangan berbagai type data. Struktur data dari tatanan yang lebih tinggi terbentuk dari Record, disini termasuk daftar linear atau linear list (terutama antrian dan tumpukan) serta Graph. Pemakain struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan menjadi lebih sederhana. Algoritma berkerja atas dasar data yang menunjukan fakta dari permasalahan kita dalam dunia nyata. Algoritma dan Data menunjukan hasil dari pelaksanaan program, dan mempunyai hubungan yang simbolik. Dalam hal ini semakin cocok komposisi data untuk suatu aplikasi tertentu, semakin mudah algoritma tersebut melaksanakan tugasnya. Untuk menyederhanakan pelaksanaan algoritma, dianjurkan untuk mengatur data menjadi suatu unsur logika yang lebih tinggi dibandingkan variabel biasa. Unsur logika tersebut membentuk Struktur Data. Dengan perkataan lain, suatu struktur data merupakan koleksi dari satuan data sederhana yang terorganisir dengan aturan tertentu. Oleh karena itu struktur data dicirikan oleh :
1. Jenis atau type data pembentuknya.
2. Hubungan antara satuan data tersebut.
Contoh :
Sebuah program akan dirancang untuk memberi simulasi kepada kemampuan kerja komputer. Algoritma simulasi ini memerlukan data tentang waktu dari pekerjaan yang akan diproses. Sejumlah satuan data terbentuk, masing-masing menunjukan waktu tiba dari pekerjaan, kebutuhan data oleh komputer, dan sebagainya. Kemudian program akan mencontoh proses dari pekerjaan semu yang dibentuk oleh sistem komputer untuk disimulasikan. Program akan menjadi lebih jelas dan lebih sederhana apabila data yang menjadi bagian dari tiap-tiap pekerjaan diorganisir ke dalam suatu unsur tunggal, yakni berupa sebuah record. Kemudian akan menjadi jelas lagi apabila record seperti itu diatur membentuk suatu struktur data yang lebih tinggi tingkatannya lagi, sehingga menjadi bentuk first-in-first-out (FIFO) sesuai dengan waktu tiba pekerjaan yang diwakilinya. Struktur data seperti ini disebut Antrean (Queue). Struktur Data tertentu seperti Array biasanya selalu tersedia bagi pemrogram didalam bahasa pemrograman tingkat tinggi yang dipakai. Namun ada pula struktur data yang tidak tersedia, seperti misalnya struktur Tumpukan (Stack). Untuk itu harus disusun sendiri oleh Pemrogram dengan menggunakan variabel bertype sederhana ataupun dari struktur data yang telah tersedia. Sebuah Array merupakan dasar dari struktur data. Sebuah Array dapat menyatukan satuan data sederhana dan sejenis yang masing-masing mendapat nama secara kolektif dan dari indeks atau subskrip yang memberikan identifikasi terhadap posisi elemennya.
Sebuah record terbentuk dari beberapa type data sederhana dan termasuk string. Data tersebut dibentuk sebagai unsur tunggal karena mereka memberikan gambaran dari obyek permasalahan yang nyata sehari-hari. Record biasanya ditingkatkan menjadi struktur data yang lebih tinggi, melalui nilai dari salah satu satuan datanya (disebut field). Variabel yang sederhana, Record dan juga Array, seperti kita katakan terdahulu, dapat diorganisir menjadi struktur data yang lebih tinggi. Struktur tersebut banyak yang bersifat dinamis, artinya bahwa dalam pelaksanaan program yang memakai struktur data tersebut, banyak komponen yang dapat berubah, ada komponen yang dapat dihilangkan dan dimasukkan.
PEMETAAN STORAGE
INTEGER
Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu :
1. Skema Sign dan Magnitude
Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu.
Contoh :
+ 7 à + 111 à representasi dengan 4 digit : 0111
- 7 à - 111 à representasi dengan 4 digit : 1111
Dengan cara ini kita akan mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya.
2. Skema One's Complement
3. Skema Two's Complement
Kedua skema ini merupakan cara yang digunakan untuk mengatasi kesulitan yang telah disebutkan di atas. Diberikan bilangan integer non negatif X, X' dan R. Didefinisikan bahwa X' adalah komplemen dari X relatif terhadap R, jika X + X' = R. X disebut sebagai bentuk true, sedangkan X' = R - X disebut bentuk komplemen. Bentuk komplemen X' = R - X menyatakan bilangan integer negatif X. Sedangkan bentuk true X menyatakan integer positif X.
Skema Two's Complement menggunakan R = 2N.
Skema One's Complement menggunakan R = 2N - 1.
Contoh :
Misal diberikan integer = 7, akan dicari bentuk binernya dengan skema Two's Complement untuk representasi 4 digit.
X = 7 ; R = 24 ; à X + X' = R
X' = R - X
= 24 - 7
= 16 - 7
= 9 à dalam biner = 1001
KARAKTER
Saat ini banyak sekali skema yang digunakan untuk merepresentasikan karakter dalam storage. Pada umumnya skema yang paling banyak digunakan adalah :
1. Extended Binary Coded Decimal Interchange Code (EBCDIC)
2. American Standard Code for Information Interchange (ASCII)
Pada skema EBCDIC digunakan kode 8 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya adalah : 28. Sedangkan skema ASCII menggunakan kode 7 bit untuk menyatakan suatu karakter. Skema ini mempunyai jumlah kemungkinan kombinasi yang lebih sedikit jika dibandingkan dengan skema EBCDIC. Selain dua skema tersebut di atas ada sebuah skema yang disebut dengan kode Huffman. Pada cara ini, jumlah bit yang digunakan tergantung dari frekuensi penggunaan suatu karakter.
STRING
Untuk mengetahui bentuk mapping pada storage dari suatu string, perlu diketahui beberapa hal yang menyangkut ruang untuk string yang bersangkutan, antara lain :
- letak posisi awal (start) dan posisi akhir (terminal)
- suatu pointer yang menunjukkan lokasi pada storage
Ada tiga cara yang umum digunakan untuk mapping suatu string ke dalam storage. Misal diberikan dua string, yaitu : S1 = 'ABCDEFG' dan S2 = 'BCD'
CARA 1
Jika diberikan suatu informasi tentang :
- nama string
- starting address
- panjang string
Contoh :
Nama String Start Panjang
String1 Ptr1 7
String2 Ptr2 3
CARA 2
Jika diberikan informasi sebagai berikut :
- nama string
- starting address
- terminal address
Misalnya diberikan tabel sbb :
Nama String Start Terminal
String1 Ptr1s Ptr1t
String2 Ptr2s Ptr2t
CARA 3
Jika diberikan informasi :
- nama string
- starting address
- suatu tanda yang menunjukkan batas string
Misalnya :
Nama String Start
String1 Ptr1
String2 Ptr2
Kamis, 18 Februari 2010
PIRAMIDA PANDUAN MAKANAN
Patokan dengan perencanaan pola makan dengan gizi seimbang yang disesuaikan denagn kebutuhan tubuh.
Pada dasar piramida ada kelompok karbohidrat ( nasi, roti, mi, bihun, pasta , sereal ) yang merupakan sumber energi utama. Kelompok ini boleh diasup denagn porsi terbesar, 60-70 %
Baris kedua adalah kelompok serat yang merupakan sumber vitamin dan mineral. Kelompok ini masih boleh diasup denagn porsi banyak tetapi tak sebanayk porsi karbohidrat. Kotak sayur lebih besar dari kotak buah menandakan, sayur perlu diasup lebih banyak daripada buah.
Baris ketiga yang terdiri atas dua kotak merupakan kelompok sumber protein dan mineral. Kotak kanan adalah makanan sumber protein hewani dan nabati. Kotak kiri adalah susu dan produknya. Baris ketiga menyempit dibanding baris sebelumnya, yang berarti kebutuhannya lebih sedikit. Karena kelompok ini mengandung cukup banyak lemak.
Kolom puncak terdiri atas kelompok lemak dan minyak . Yang termasuk di dalamnya antara lain : minyak goreng, lemak dari daging sapi / ayam, saus salad, minuman bersoda, permen dan coklat. Kelompok ini menghasilkan banyak kalori namun sedikit kandungan gizinya. Karenanya dianjurkan untuk mengkomsumsinya sedikit saja. .
Sumber : http://www.infokulit.com/food_detailed.php?food_id=4
Pada dasar piramida ada kelompok karbohidrat ( nasi, roti, mi, bihun, pasta , sereal ) yang merupakan sumber energi utama. Kelompok ini boleh diasup denagn porsi terbesar, 60-70 %
Baris kedua adalah kelompok serat yang merupakan sumber vitamin dan mineral. Kelompok ini masih boleh diasup denagn porsi banyak tetapi tak sebanayk porsi karbohidrat. Kotak sayur lebih besar dari kotak buah menandakan, sayur perlu diasup lebih banyak daripada buah.
Baris ketiga yang terdiri atas dua kotak merupakan kelompok sumber protein dan mineral. Kotak kanan adalah makanan sumber protein hewani dan nabati. Kotak kiri adalah susu dan produknya. Baris ketiga menyempit dibanding baris sebelumnya, yang berarti kebutuhannya lebih sedikit. Karena kelompok ini mengandung cukup banyak lemak.
Kolom puncak terdiri atas kelompok lemak dan minyak . Yang termasuk di dalamnya antara lain : minyak goreng, lemak dari daging sapi / ayam, saus salad, minuman bersoda, permen dan coklat. Kelompok ini menghasilkan banyak kalori namun sedikit kandungan gizinya. Karenanya dianjurkan untuk mengkomsumsinya sedikit saja. .
Sumber : http://www.infokulit.com/food_detailed.php?food_id=4
Makanan Sehat untuk Hidup Sehat
Ada beberapa cara diet yang akan mengurangi berat badan jika anda mengikuti cara yang tepat seperti yang dirancang. tapi tidak berarti semua makanan yang cocok menjadi diet adalah makanan sehat, tetapi tidak berarti Anda harus mengubah pola makanan agar sesuai dengan aturan-aturan dari diet. Daripada khawatir tentang mengikuti cara diet, lebih baik berpikir tentang gaya hidup yang sehat sebagai gantinya. Mulailah dengan belajar memilih makanan yang baik untuk Anda. Semakin dekat siklus makanan itu diambil dari alam, maka makanan itu semakin baik untuk Anda. Buah-buahan segar yang besar dan sayuran memiliki banyak vitamin dan mineral, rebus mereka untuk mempertahankan nilai gizi yang paling dan berhati-hati dengan saus, mereka mungkin tinggi di kalori dan lemak yang tidak baik bagi Anda.
Buah apel baik bagi tubuh, namun apel yang dijadikan pie benar-benar tidak baik untuk tubuh. Hidangkan seafood dua atau tiga kali seminggu. Ikan dan daging ayam akan lebih sehat di hidangkan dalam bentuk dipanggang daripada di goring biasakan minum air, susu dan 100% buah-buahan dan jus sebagai minuman utama dan batasi minuman softdrink yang manis. Jika anda bosan dengan air mineral, coba tambahkan beberapa helai lemon untuk menambahkan sentuhan rasa.
Jangan lupa untuk makan berbagai jenis makanan untuk mendapatkan seluruh vitamin dan mineral Anda harus sehat.
Sumber : http://www.infokulit.com/food_detailed.php?food_id=8
Buah apel baik bagi tubuh, namun apel yang dijadikan pie benar-benar tidak baik untuk tubuh. Hidangkan seafood dua atau tiga kali seminggu. Ikan dan daging ayam akan lebih sehat di hidangkan dalam bentuk dipanggang daripada di goring biasakan minum air, susu dan 100% buah-buahan dan jus sebagai minuman utama dan batasi minuman softdrink yang manis. Jika anda bosan dengan air mineral, coba tambahkan beberapa helai lemon untuk menambahkan sentuhan rasa.
Jangan lupa untuk makan berbagai jenis makanan untuk mendapatkan seluruh vitamin dan mineral Anda harus sehat.
Sumber : http://www.infokulit.com/food_detailed.php?food_id=8
Langganan:
Postingan (Atom)
