Sabtu, 27 Februari 2010

Tips Menangkal Virus Penyakit

Virus, penyebab penyakit ada di mana saja, di udara terbuka maupun tertutup. Virus dapat menempel pada benda-benda di sekitar. Virus mudah sekali masuk ke dalam tubuh manusia. Itulah sebabnya penyakit yang disebabkan oleh virus digolongkan sebagai penyakit menular. Cara untuk menangkal virus adalah membentuk ‘perisai tubuh’ yang tangguh, antara lain
1. Mengkonsumsi gizi lengkap dan seimbang
Pentingkan gizi daripada sekedar rasa kenyang. Ciptakan kekebalan tubuh dengan mengkonsumsi makanan bergizi secara lengkap dan seimbang (cukup protein, lemak, karbohidrat, vitamin, dan mineral) dari berbagai variasi makanan.
2. Banyak mengkonsumsi cairan
Konsumsilah cairan dalam jumlah yang cukup, agar racun dapat luruh di dalam tubuh. Normalnya, tubuh memerlukan kurang lebih 2 liter air. Bagaimana cara mengetahui apakah kita kurang minum atau tidak? Perhatikanlah warna air seni. Jika warnanya bening kekuningan, artinya tubuh Anda cukup cairan. Jika air seni berwarna agak keruh, Anda perlu mengkonsumsi lebih banyak cairan dari biasanya.
3. Berolahraga secara teratur
Jika dilakukan secara teratur maka olahraga dapat membuat sirkulasi darah menjadi lancar. Dengan demikian, tubuh pun memperoleh asupan oksigen secara optimal dan daya tahan tubuh pun meningkat.
4. Jaga kebersihan tubuh
Mandi dan sering mencuci tangan, mengeringkannya dengan saputangan atau tissue bersih.
5. Menjauhi penderita
Berusahalah agar tidak berdekatan dengan penderita. Karena saat Anda bicara dengan penderita, virus-virus yang berasal dari ludah penderita akan beterbangan di udara, lalu terhirup.
6. Hindari ketegangan dan kecemasan
Buatlah kegiatan sesering mungkin agar tubuh merasa santai. Tubuh yang santai membuat interleukin (salah satu senyawa dalam sistem pertahanan tubuh) meningkat dalam sel darah.

Sumber : http://www.klipingku.com/2009/07/tips-menangkal-virus-penyakit/

Tips Tidur Sehat Agar Kondisi Badan Fit

Kualitas tidur merupakan sumber kesegaran, tenaga, dan vitalitas yang dibutuhkan untuk mengoptimalkan produktivitas keesokan harinya. Kualitas tidur adalah kebutuhan mutlak yang sama pentingnya dengan makanan bergizi dan olah raga. Jika setup hari kamu mengalami insomnia, apa kamu yakin keesokan harinya kamu bisa lebih fresh. Mulai sekarang mulailah terapkan pola tidur sehat.
1. Disiplin. Selalu tidur pada waktunya. Agar jam biologis tubuh kamu tetap, bangunlah pada waktu yang sama. Tidak peduli apakah kamu merasa cukup tidur atau tidak. Usahakan untuk menjaga keteraturan tidur dan bangun pagi baik hari kerja maupun hari libur.
2. Olah Raga Teratur. Olah raga teratur adalah obat mujarab untuk menetralisir ketegangan fisik dan fikiran kamu. Hal ini sedikit banyak membantu meningkatkan kualitas tidur kamu. Jangan terlambat olah raga. Cukup lakukan sedikit olahraga ringan. Waktu paling ideal untuk berolahraga adalah pagi atau sore hari atau maksimum menjelang petang.
3. Suasana dan Ritual. Ciptakan suasana yang nyaman. Jaga kelembaban dan suhu udara kamar tidurmu. Usahakan sedemikian rupa begitu pagi dating, matahari akin masuk ke kamarmu. Sebalum tidur, usahakan relaks. Tidak perlu terlalu banyak berfikir. Lakukan ritual tidur yang menyenangkan seperti mendengarkan musik lembut sambil membaca bacaan ringan. Sesuaikan juga penerangan ruing tidur kamu.
4. Kualitas, Bukan Kuantitas. Yang penting kualitas bukan kuantitas. Tak masalah jika kamu hanya bisa tidur selama 5 jam saja tapi kamu merasa segar. Jika merasa sudah cukup tidur, lebih balk gunakan waktumu untuk melaksanakan kegiatan lain.
5. Jangan Tidur dalam Keadaan Lapar atau Kekenyangan. Semaksimal mungkin kamu harus bisa menghindari tidur karena kelelahan dan bukan pada jam tidur kamu. Jangan tidur dalam keadaan lapar atau malah kekenyangan. Hindari kacang-kacangan atau buah-buahan yang mengandung gas seperti durian. Hindari juga ngemil dengan kandungan lemak tinggi karena membutuhkan waktu lebih lama untuk dicerna. Kalau lagi diet, jangan pernah tidur dalam keadaan lapar. Lebih balk makanlah buah-buahan rendah kalori seperti pisang atau apel.

Sumber : http://www.klipingku.com/2010/01/tips-tidur-sehat-agar-kondisi-badan-fit/

Minyak Ikan Membantu Mengatasi Masalah Kejiwaan

Studi terbaru menemukan, konsumsi minyak ikan selama 12 minggu membuat remaja yang beriko tinggi mengalami penyakit kejiwaan kecil kemungkinannya menjadi gila. Minyak ikan akan efektif jika dikonsumsi selama satu tahun.
Temuan ini berasal dari percobaan yang melibatkan 81 remaja yang berusia rata-rata 18 tahun. Semua partisipan berada di ambang gangguan kejiwaan. Satu tahun setelah mengikuti studi, 11 dari 40 remaja yang hanya ditangani dengan pil placebo (tidak menagndung minyak ikan) mengalami gangguan kejiwaan. Sedang dari kelompok kedua (41 remaja) hanya dua anak yang mengalami gangguan kejiwaan.
Partisipan kelompok kedua telah mengawali tahun dengan mengonsumsi kapsul minyak ikan kaya omega-3 selama 12 minggu.
Terapi lainnya, termasuk obat-obat kejiwaan, belum ada yang bisa membebaskan pasien dari gejala setelah sekian lama berhenti menggunakan. Selain itu, obat-obat kejiwaan cenderung mempunyai efek samping serius, termasuk penambahan berat badan dangan gangguan fungsi seksual. Sedang pil minyak ikan tidak memiliki efek samping.
Studi yang dipublikasikan di Archives of General Psychiatry ini menunjukkan bahwa untuk mencegah kasus penyakit jiwa, empat anak berisiko tinggi harus diobati. Kemanjuran ini, menurut peneliti G. Paul Amminger, MD, dari University of Vienna, Austria, setara dengan obat-obat antipsikotik.
"Temuan komponen alami yang bisa mencegah atau paling tidak menunda gangguan kejiwaan memberi harapan bahwa masih ada alternatif selain antipsikotik untuk mengatasi gejala-gejala yang mengarah ke penyakit kejiwaan," tutur Amminger, seperti dikutip situs webmd.com.
Studi-studi sebelumnya telah menunjukkan bahwa asam lemak omega-3 bisa meredakan depresi klinis dan gangguan kejiwaan lainnya. Akan tetapi, masih belum jelas apakah minyak ikan bisa membantu orang yang sudah menderita gangguan kejiwaan.
Meskipun menunjukkan gejala kecemasan, semua partisipan dalam studi Amminger belum ada yang benar-benar menderita skizofrenia.
Masih belum jelas bagaimana minyak ikan mencegah gangguan kejiwaan. Amminger dan dan teman-temannya menekankan bahwa orang dengan skizofrenia cenderung mempunyai kadar asam lemak omega-3 rendah.
Jadi, ada kemungkinan bahwa gangguan mental berkaitan dengan gangguan dalam kemampuan mengolah asam lemak. Selain itu, ada bukti yang menunjukkan bahwa asam lemak berinteraksi dengan zat kimia di otak.
Temuan Amminger mengindikasikan bawa asam lemak omega-3 melindungi sel-sel otak dari stres oksidatif.

Sumber : http://www.infosehat.com/inside_level2.asp?artid=1492&secid=38&intid=5

Senin, 22 Februari 2010

STACK atau TUMPUKAN

Stack atau tumpukan adalah bentuk khusus dari linear list. Pada stack, penghapusan serta
pemasukan elemennya hanya dapat dilakukan di satu posisi, yakni posisi akhir dari list.
Posisi ini disebut puncak atau top dari stack. Elemen stack S pada posisi ini dinyatakan
dengan TOP(S).
Jelasnya, bila stack S [S1, S2, …, ST], maka TOP(S) adalah ST. Banyaknya elemen stack
S pada suatu saat tertentu biasa kita sebut sebagai NOEL(S). Jadi untuk stack kita di atas,
NOEL(S) = T. Seperti halnya pada semua linear list, pada stack dikenal operasi penghapusandan pemasukan.
Operator penghapusan elemen pada stack disebut POP, sedangkan operator pemasukan
elemen, disebut PUSH. Untuk menggambarkan kerja kedua operator di atas, berikut ini
suatu contoh bermula dari stack hampa S[ ], yang kita gambar sebagai:
S NOEL(S) = 0, TOP(S) tidak terdefinisimula-mula kita PUSH elemen A, diperoleh Stack S = [A]
A S NOEL(S) = 1, TOP(S) = A
Apabila kemudian kita PUSH elemen B, diperoleh Stack S = [A,B]
S NOEL(S) = 2, TOP(S) = B
Selanjutnya bila PUSH elemen C, diperoleh Stack S = [A,B,C]
S NOEL(S) = 3, TOP(S) = B
Kemudian bila kita POP elemen C, diperoleh Stack S = [A,B]
S NOEL(S) = 2, TOP(S) = B
Kita dapat pula PUSH 2 elemen D dan E. Akan dihasilkan Stack S = [A,B,D,E]
S NOEL(S) = 4, TOP(S) = E, dan seterusnya.
Terlihat bahwa kedua operasi di atas, pada stack adalah bersifat ‘terakhir masuk pertama
keluar’ atau ‘last in first out (LIFO)’. Pada hakekatnya kita tidak membatasi berapa banyakelemen dapat masuk ke dalam stack. Untuk suatu stack S[S1, S2,..., SNOEL], kita katakanbahwa elemen Si, berada di atas elemen Sj, jika i lebih besar dari j. Suatu elemen tidak dapatkita POP ke luar, sebelum semua elemen di atasnya dikeluarkan.

OPERASI PADA STACK
Terdapat empat operasi pada stack, yakni CREATE (stack), ISEMPTY(stack), PUSH
(elemen, stack), dan POP (stack). CREATE(S) adalah operator yang menyebabkan stack Smenjadi satu stack hampa. Jadi NOEL(CREATE(S)) adalah 0, dan TOP(CREATE(S))
tak terdefinisi.
Sedangkan operator ISEMPTY(S) bermaksud memeriksa apakah stack S hampa atau
tidak. Operandnya adalah data bertipe stack, sedangkan hasilnya merupakan data bertipe
boolean. ISEMPTY(S) adalah true, jika S hampa, yakni bila NOEL(S) = 0, dan false dalamhal lain. Jelas bahwa ISEMPTY(CREATE(S)) adalah true.
Operator PUSH (E,S) akan bekerja menambahkan elemen E pada stack S. E ditempatkan
sebagai TOP(S). Operator POP(S) merupakan operator yang bekerja mengeluarkan
elemen TOP(S) dari dalam stack. POP(S) akan mengurangi nilai NOEL(S) dengan 1.
Suatu kesalahan akan terjadi apabila, kita mencoba melakukan POP(S) terhadap stack S
yang hampa.
Kesalahan overflow akan terjadi jika kita melakukan operasi pemasukan data (PUSH)
pada stack yang sudah penuh (dalam hal ini jika banyaknya elemen yang kita masukkan kedalam sebuah stack sudah melampaui batas kemampuan memori atau telah didefinisikansebelumnya).Sebaliknya, kesalahan underflow akan terjadi jika stack sudah dalam keadaan hampa,kita lakukan operasi pengeluaran atau penghapusan (POP).

DEKLARASI STACK DALAM COBOL DAN PASCAL
Meskipun stack amat luas digunakan, banyak bahasa pemrograman tidak mempunyai
tipe data stack secara built-in. Dalam hal ini, Pemrogram harus memanipulasi sendiri
fasilitas yang dimiliki bahasa pemrograman tersebut, untuk dapat melakukan operasi
stack terhadap variabel stack.
Mungkin cara yang paling sederhana adalah membentuk stack dalam bentuk semacam
array. Jelas kita harus membedakan suatu stack dengan suatu array yang sesungguhnya.
Pemrogram harus memaksakan berlakunya aturan LIFO bagi stack. Selain itu juga,
penempatan stack dalam bentuk array mengakibatkan suatu keterbatasan, yakni bahwa
elemen stack harus homogen. Keterbatasan lain yang timbul adalah keharusan Pemrogram untuk menentukan batas atas dari subscript array, walaupun stack secara teori tidak memilikibatas maksimum dalam jumlah elemen. Jika diinginkan, seharusnya kita dapat membuatstack yang panjangnya tak hingga.
Satu hal yang nyata membedakan stack dengan array adalah banyaknya elemen stack
yang dapat bertambah atau berkurang setiap waktu, sementara banyaknya elemen sebuah
array selalu tetap.
Sekarang marilah kita bicarakan deklarasi dari variabel S yang bertipe data stack.
Diasumsikan bahwa elemen dari S masing-masing bertipe data integer dan panjang stack
maksimum adalah 100 elemen. Kita mendeklarasikan sebuah array yang dilengkapi
dengan variabel TOP-PTR.
Variabel TOP-PTR ini menyatakan subscript dari elemen TOP(S) dari stack. Kita
menamakan kombinasi dari array dan indikator untuk TOP tersebut dengan nama STACKSTRUCT.
Dengan penyajian seperti ini, berlaku bahwa NOEL(S) = TOP-PTR,
ISEMPTY(S) adalah true bila TOP-PTR = 0, dan false bila TOP-PTR lebih besar dari 0.
Dalam COBOL
01 STACK-STRUCT.
02 S PIC 9(5)
OCCURS 100 TIMES.
02 TOP-PTR PIC 9(3)
Dalam Pascal
type stackstruct;
record Stack: Array [ 1..100] of integer;
topptr : integer
end
var S : stackstruct;
Kompilator tidak dapat mengerti aturan LIFO yang kita inginkan. Untuk itu Pemrogram
harus berhati-ati dan tidak memberi indeks pada S di sembarang tempat, selain
dengan nilai TOP-PTR.
Operasi PUSH dan POP dapat kita program sebagai berikut: kita gunakan EON
untuk menyatakan elemen yang di-PUSH ke dalam S dan EOFF untuk elemen yang di-
POP ke luar S. NOEL-MAX menyatakan panjang maksimum stack. Jadi di sini NOELMAX= 100.
Dalam paragraf COBOL:
PUSH.
IF TOP-PTR < NOEL-MAX
THEN COMPUTE TOP-PTR = TOP-PTR+1
MOVE EON TO S( TOP-PTR )
ELSE overflow condition.
POP.
IF TOP-PTR > 0
THEN MOVE S( TOP-PTR ) TO EOFF
COMPUTE TOP-PTR = TOP-PTR-1
ELSE overflow condition.
Dalam procedure Pascal:
procedure PUSH (eon : integer);
begin
if (s.topptr < noelmax)
then
begin s.topptr < = s.topptr + 1;
s.Stack [s.topptr] :=eon
end
else OVERFLOW-CONDITION
end
procedure POP (var eoff:integer);
begin
if (s.topptr>0)
then
begin eoff;= s.Stack [s.topptr];
s.topptr ;= s.topptr - 1
end
else UNDERFLOW-CONDITION
end;
Stack sangat luas pemakaiannya dalam menyelesaikan berbagai macam problema.
Kompilator, sistem operasi, dan berbagai program aplikasi banyak menggunakan konsep
stack tersebut. Salah satu contoh adalah problema Penjodohan Tanda Kurung atau matching parantheses.
Sebuah kompilator mempunyai tugas, salah satu di antaranya adalah menyelidiki
apakah Pemrogram telah dengan cermat mengikuti aturan tata bahasa, atau sintaks dari
bahasa pemrograman yang bersangkutan. Misalnya untuk parantheses kiri (tanda kurung
buka) yang diberikan, harus dipastikan adanya parantheses kanan (tanda kurung tutup)
yang bersangkutan.
Stack dapat digunakan dalam prosedur matching yang digunakan. Algoritmanya
sederhana, kita amati barisan elemen dari kiri ke kanan. Bila kita bertemu dengan suatu
parantheses kiri, maka parantheses kiri tersebut kita PUSH ke dalam sebuah stack. Selanjutnya bila kita bertemu dengan suatu parantheses kanan, kita periksa stack, apakah hampa atautidak. Kalau stack hampa, berarti terdapat parantheses kanan tanpa adanya parantheses kiri.
Suatu kesalahan, atau error, apabila stack tidak hampa, berarti tidak diperoleh sepasangparantheses kiri, dan kanan, kita POP elemen ke luar stack.
Jika sampai berakhirnya barisan elemen, stack tidak hampa berarti terdapat parantheses
kiri yang tidak tertutup dengan parantheses kanan. Lagi suatu kesalahan. Kita akan membuatprogramnya dalam COBOL. Barisan elemen yang diamati kita tampung karakter demikarakter dalam variabel array bernama STRING. Stack ditempatkan dalam array STACK.
Kita asumsikan bahwa jumlah maksimum karakter dalam barisan elemen adalah 80 dan
barisan berakhir dengan karakter titik-koma.

APLIKASI STACK
Struktur datanya didefinisikan sebagai berikut:
01 STACK-STRUCT.
02 S PIC 9(5) PIC X
OCCURS 80 TIMES.
PIC 99 VALUE 0.
02 TOP-PTR
01 STRING.
02 CHAR PIC X
OCCURS 80 TIMES.
01 NEXT-CHAR PIC 99
Struktur di atas kita manipulasi dengan prosedur sebagai berikut:
PERFORM SCAN-NEXT-CAR
VARYING NEXT-CHAR FROM 1 BY 1
UNTIL NEXT-CHAR > 80
OR CHAR (NEXT-CHAR) = “;”.
IF TOP-PTR NOT = 0 THENinvalid syntax,
parenthesis kiri tak tertutup
ELSE Valid syntax.
SCAN-NEXT-CHAR
IF CHAR (NEXT-CHAR) = “(”
PERFORM PUSH
ELSE
IF CHAR (NEXT-CHAR) = “)”
PERFORM POP
PUSH
COMPUTE TOP-PTR = TOP-PTR + 1
MOVE CHAR (NEXT-CHAR) TO STACK (TOOP-PTR).
IF TOP-PTR > 0
COMPUTE TOP-PTR - 1
ELSE invalid syntax, tak ada parenthesis
Silakan Anda buat programnya dalam bahasa pemrograman yang Anda kuasai.

DAFTAR LINEAR
Sebuah daftar linear atau linear list, merupakan suatu struktur data umum yang terbentuk
dari barisan hingga (yang terurut) dari satuan data ataupun dari record. Untuk mudahnya,
elemen yang terdapat di dalam daftar disebut dengan simpul atau node. Daftar disebut
linear (lurus), karena elemen tampak seperti berbaris, yakni bahwa setiap simpul, kecuali
yang pertama dan yang terakhir, selalu memiliki sebuah elemen penerus langsung (suksesorlangsung) dan sebuah elemen pendahulu langsung (predesesor langsung).
Di sini, banyak simpul atau elemen, tersebut dapat berubah-ubah, berbeda dengan
array yang banyak elemennya selalu tetap. Kita menyatakan linear list A yang mengandungT elemen pada suatu saat, sebagai A = [A1, A2, …AT]. Jika T = 0, maka A disebut list hampaatau null list.
Suatu elemen dapat dihilangkan atau dihapus (deletion) dari sembarang posisi dalam
linear list, dan suatu elemen baru dapat pula dimasukkan (insertion) sebagai anggota list
pada posisi sembarang (di mana saja).File, merupakan salah satu contoh dari daftar linear yang elemen-elemennya berupa
record. Selain file, contoh lain dari daftar linear adalah stack atau tumpukan, queue atau
antrean, dan daftar berkait atau linear linked list atau one-way list. Pada Bab 3 ini kita bahastentang stack tersebut. Selanjutnya pada Bab 4 kita bahas tentang antrean tentang linked list.

sumber : seri diktat kuliah, pengantar struktur data Universitas Gunadarma

ARRAY DIMENSI SATU

ARRAY DIMENSI SATU
Sebuah array dimensi satu, yang misalnya kita beri nama NILAI, dapat kita bayangkan
berbentuk seperti Gambar 2.1.
Nilai (1) Nilai (2) Nilai (3) - - - Nilai (n)
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.

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)), seperti terlihat pada Gambar 2.3.
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 tinggi
ke 17.
Array dimensi tiga dapat kita bayangkan seperti Gambar 2.4.
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.

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.

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) *

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.

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.


Sumber : seri diktat kuliah, pengantar struktur data universitas Gunadarma

PEMETAAN KE STORAGE : KARAKTER DAN STRING

PEMETAAN KE STORAGE : KARAKTER DAN STRING
Banyak aturan yang dapat kita gunakan untuk menyatakan tipe data karakter dalam
storage. Dua di antaranya sangat terkenal, yakni Extended Binary Coded Decimal
Interchange Code (EBCDIC) dan American Standard Code for Information
Interchange(ASCII).
EBCDIC, yang dikembangkan oleh IBM, adalah kode 8 bit. Di sini dibutuhkan
8 binary digit (bit) untuk menyatakan satu karakter dalam alfabet: Dalam 8 bit terdapat
28 (=256) kemungkinan. Nyata bahwa pada EBCDIC, cukup banyak macam karakter
yang dapat digunakan. Di sini meliputi huruf besar serta kecil, digit numerik dan
banyak karakter khusus.
ASCII adalah cara pengkodean 7 bit. Terdapat 27 (=128) kemungkinan, separuh
dari yang dimiliki EBCDIC. Penggunaan ASCII ini disebabkan karena lebih sedikitnya
storage yang dipakai, serta lalu lintas data karakter tersebut dapat lebih cepat.
Selain kedua cara pengkodean tersebut di atas, masih terdapat banyak cara lagi, di antaranyaadalah cara BCD (Binary Coded Decimal) yang menggunakan 4 bit setiap karakternya.

Integer Binary sign-and-magnitude Two’s complement
Selain itu, di antara sekian banyak cara mapping ke storage terhadap karakter tersebut,
ada suatu cara yang sengaja diciptakan untuk aplikasi khusus, seperti kode Huffman.
Di sini, Karakter disajikan oleh bit yang banyaknya variabel, tergantung pada frekuensi
relatif kemunculan karakter tersebut dalam vocabulary dari aplikasi. Karakter yang sering
muncul dinyatakan dalam pola bit yang lebih pendek, sedangkan karakter yang jarang
muncul, dinyatakan dalam pola bit yang lebih panjang.
Sebagai contoh dalam aplikasi khusus, karakter 0, dinyatakan dalam single bit 0,
karakter A dinyatakan dalam 5 bit 10101, sedangkan karakter % (sangat jarang
muncul) dinyatakan dalam 16 bit 1011111111111001. Apabila dihitung, rata-rata
penggunaan bit adalah 2.91 bit/ karakter.
Banyak komputer memperkenankan pemrogram menggunakan berbagai kode
pada sebuah program. Sebagai contoh, pada COBOL, data dapat dibaca dan ditulis
ke file menggunakan EBCDIC, pada tape drive misalnya. Data lain dapat dibaca/
ditulis dengan ASCII, misalnya pada peralatan input/output terminal. Data lain
mungkin dalam kode yang lain pula.
Apabila suatu mapping karakter digunakan untuk menyatakan integer, tanda plus
atau minus harus ikut disimpan. Secara umum, tanda ini disimpan di sebelah kanan
digit dari bilangan.
Banyak kompilator menawarkan pilihan lain untuk mapping integer. Yang paling
luas digunakan adalah bentuk packed-decimal. Di sini data numerik disimpan dengan
menggunakan 2 digit setiap 8 bit, tidak seperti EBCDIC 1 digit setiap 8 bit. Pada 8
bit terakhir disimpan selain digit derajat terendah, juga tanda dari bilangan tersebut.
Berikut ini perbandingan kode EBCDIC, ASCII, dan packed-decimal untuk
menyatakan +903 dan -903.




ORGANISASI LOGIK DAN FISIK DARI STRUKTUR DATA
Memori komputer dapat kita bayangkan terdiri atas barisan atau untai sel-sel (masingmasing) sel berisi satu binary digit atau bit) dengan alamatnya sekaligus. Setiap untai dirangkai dari sejumlah bit yang ditentukan jumlahnya dalam satu untai oleh model
komputer tertentu.
Struktur data terdiri dari satuan data sederhana yang cocok untuk program yang
memakainya. Hubungan antara satuan data tersebut membentuk salah satu ciri dari
struktur yang bersangkutan. Jika sebuah struktur data langsung tersedia dalam bahasa
pemrograman (misalnya array terdapat di dalam FORTRAN), maka struktur data
tersebut langsung dapat dipakai. Jika struktur tersebut tidak tersedia, maka pemrogram
harus membuatnya terlebih dahulu dari tipe data yang tersedia. Berhubung struktur
data tersebut harus dimasukkan ke dalam memori berupa untai bit, maka setiap
struktur diberi ciri oleh organisasi logikal (perlu ada hubungan antar komponen
sewaktu diaplikasikan), dan oleh organisasi fisikal (penempatan dalam memori).
Jika satuan data sederhana dapat membentuk sebuah struktur yang lebih hemat
dalam memori, maka struktur data tersebut disatukan: beberapa satuan data
ditempatkan sebagai satu untai. Struktur tersebut tidak dapat langsung ditujukan
kepada sebuah alamat (yang bisa hanyalah sebuah untai atau byte); untuk itu haruslah
diusahakan melalui proses pemrograman.
Jika menggunakan penyajian secara sekuensial, maka komponen struktur data
ditempatkan ke dalam lokasi memori secara berurutan. Hubungan antara komponenkomponentersebut tidak nampak dari proses mereka.
Contoh 1.3
Sebuah himpunan data logikal (masing-masing sepanjang 1 bit) dapat dijadikan untai
16 bit memakai 16 elemen himpunan ke dalam satu untai. Dua cara utama untuk
menempatkan memori terdapat di dalam struktur tingkat tinggi seperti daftar.
Cara lain adalah penyajian secara berkait, atau linked. Di sini setiap komponen
dari struktur data dilengkapi dengan satu atau beberapa satuan data tambahan, yang
diper-gunakan untuk melakukan hubungannya dengan komponen yang ada di
sekelilingnya. Satuan data tambahan seperti itu disebut pointer atau link atau penuding
yang berisikan alamat memori dari satuan data lain di dalam struktur data.
Dengan adanya pointer tersebut, akan terjalin relasi antar komponen dalam struktur data
tersebut.
Jika kita memakai sistem penyajian berkait, maka jumlah memori yang tersedia
bagi struktur data, dibagi menjadi dua bagian. Satu bagian menampung struktur
yang ada tersebut, sedangkan bagian yang lain (disebut ruang yang tersedia),
merupakan tempat cadangan, untuk menampung komponen yang masih “kosong.’’
Jika diperlukan sebuah ruang untuk menempatkan komponen baru, maka akan
diambilkan dari ruang cadangan tersebut.
Jika suatu komponen tidak dibutuhkan lagi, maka ruang dikembalikan kepada tempat
cadangan yang bersangkutan. Ada kalanya juga terjadi bahwa komponen yang tidak
dibutuhkan lagi dikumpulkan secara periodik untuk dikembalikan ke tempat cadangan

sumber : Seri Diktat Kuliah Pengantar Struktur Data, Universitas Gunadarma

Jumat, 19 Februari 2010

jenis-jenis data

Deklarasi
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;

Tipe Data
Secara sederhana tipe data dapat didefinisikan dengan istilah tempat untuk menentukan pemberian nilai terhadap suatu variabel sesuai atau tidak dengan nilai yang diberikan oleh user. Dalam versi lain tipe data juga diartikan sebagai batasan terhadap fungsi tanda pengenal terhadap semua nilai yang diterima. logika yang dapat kita berikan adalah ketika kita menempatkan tanda pengenal harga hanya mengenal angka, maka ketika kita memberikan nilai berupa string maka secara otomatis data tersebut akan ditolak karena nilai tersebut tidak dikenali oleh tipe data yang diberikan.

Tipe Data Numeric Integer
Tipe data integer merupakan tipe data bilangan bulat yang hanya mengenal bilangan decimal. Dimana tipe data Integer tidak mengenal pecahan
Bentuk Umum
Var
Nil1:integer;
Begin
Nil1:=5000;

Tipe Data Real
Tipe data numeric real adalah tipe data dari suatu tanda pengenal selain mengenal bilangan bulat utuh tipe data ini juga mengenal nilai angka yang mengenal pecahan.
Bentuk Umum
Var
Nil:real;
Begin
Nil1:=20,5;

Tipe Data String
Tipe data string merupakan salah satu jens tipe data selain mengenal angak disini tipe data dapat juga mengenla data berupa huruf maupun tanda baca.
Bentuk umum
Var
Nama:string;
Begin
Nama:=’Anton’;

Tipe Data Char
Secara fungsi tipe data char sama dengan tipe data string tetapi dari segi kapsitas ruang diperoleh tipe data char jauh lebih sedikit karena hanya mengenal 1 karakter.

sumber :http://elearning.upnjatim.ac.id/courses/FKK1002/work/48cd30982d343tipe_data_operator.htm

Kamis, 18 Februari 2010

Cara Ampuh Mengatasi Jerawat

Tentunya banyak dari kita yang mengidamkan kulit wajah yang bersih dan cerah, terutama perempuan. Ada satu jerawat yang timbul di wajah saja, terkadang sudah membuat kita uring-uringan. Jerawat yang kerap datang menempel di wajah kita memang menjengkelkan. Menyebabkan kita terkadang merasa minder dan risih dalam pergaulan sehari-hari.
Jerawat timbul akibat produksi minyak yang berlebihan. Banyak faktor yang dapat memicu munculnya jerawat yaitu faktor keturunan, makanan, faktor psikis juga mempengaruhi, misalnya saja ketika datang bulan, stress, pemakaian kosmetik yang tidak cocok atau mengkonsumsi obat tertentu bisa saja menyebabkan timbulnya jerawat. Sampai saai ini, belum ada obat jerawat yang bisa menyembuhkan secara tuntas. Namun banyak upaya yang bisa dilakukan untuk membantu menyembuhkan atau paling tidak mengurangi tumbuhnya jerawat.
Berikut beberapa tips agar jerawat enggan muncul di wajah kita.
1. Rajin membersihkan wajah
Salah satu penyebab timbulnya jerawat adalah kotoran dan bakteri yang menempel di wajah. Dengan mencuci muka atau membersihkan wajah menggunakan susu pembersih dapat segera menyingkirkan kotoran dan bakteri yang ada.
2. Singkirkan rambut dari wajah
Rambut akan menjadi kotor dan berminyak saat kita melakukan aktivitas sehari-hari. Bila rambut menyentuh wajah, maka kotoran tersebut dapat pindah ke wajah kita dan dapat menimbulkan jerawat.
3. Cuci sarung bantal dan seprai secara teratur
Rambut yang kotor atau wajah yang tidak bersih dapat menyebabkan kuman dan kotoran berpindah di sarung bantal atau seprei saat kita menggunakan bantal. Kemudian, pada saat yang lain saat wajah menempel di bantal, kotoran tersebut kembali menempel di wajah kita.
4. Minum 8 gelas air sehari
Mengkonsumsi air yang cukup dapat membantu tubuh mengeluarkan racun dan zat tidak berguna yang ada di tubuh, sehingga dapat mengurangi risiko timbulnya jerawat.
5. Tidur cukup
Tidur yang cukup membuat asupan oksigen dalam tubuh seimbang. Sehingga kulit wajah cerah dan terhindar dari jerawat.
6. Kurangi penggunaan kosmetik
Menggunakan kosmetik dapat menyumbat pori-pori wajah. Sumbatan ini membuat pori-pori tidak bernafas dengan baik. Pilihlah kosmetik yang berbahan dasar air yang dapat mengurangi potensi timbulnya jerawat dibanding kosmetik yang berbahan dasar minyak.
7. Jangan penceti jerawat yang muncul
Tangan yang kotor saat anda memegang dan memencet jerawat memicu meningkatnya minyak dan kotoran di wajah. Saat memencet jerawat, lapisan yang ada di bawah kulit dapat menjadi rusak dan menyebabkan minyak wajah menyebar ke bagian lain dari wajah sehingga jerawat timbul semakin banyak.
8. Hindari makanan berlemak
Makanan berlemak dapat menyebabkan produksi kelenjar minyak meningkat. Sebaiknya hindarilah makanan berlemak seperti coklat, kacang, lemak daging.
9. Mengkonsumsi makanan sehat dan seimbang
Selain karena kotor, jerawat juga menandakan adanya sesuatu yang nggak beres di dalam tubuh kita. Kesehatan kulit benar-benar tergantung pada asupan nutrisi yang masuk. Makan-makanan yang seimbang membuat asupan vitamin dalam tubuh pun seimbang. Sehingga membuat kulit, tidak hanya kulit wajah, sehat.
10. Olahraga secara teratur
Olahraga yang teratur, meningkatkan kadar oksigen pada tubuh yang sangat berguna untuk mengindari dari jerawat.
Selain tips-tips di atas, banyak upaya yang lain yang bisa dilakukan dengan cara-cara tradisional untuk membantu menyembuhkan atau paling tidak mengurangi tumbuhnya jerawat. Salah satunya dengan menggunakan lima tanaman obat yaitu tomat, belimbing wuluh, mentimun, jeruk nipis, dan temulawak yang dipercaya bisa membasmi jerawat yang membandel.
1. Tomat (Lycopercisum esculentum Mill)
Tomat banyak mengandung aneka vitamin, antara lain vitamin C, viamin A dan B1 serta mengandung zat-zat seperti protein, kalsium, besi, dan belerang. Untuk mengusir jerawat, pilih tomat yang sudah masak, kemudian potong-potong sama rata, setelah itu langsung dipakai untuk menggosok wajah berjerawat. Jika tekun membiasakan diri memakai buah tomat, wajah Anda dijamin bakal kembali berseri-seri, bebas dari jerawat.
2. Belimbing wuluh (Averrhoa bilimbi L.)
Belimbing wuluh yang daging buahnya banyak mengandung air yang berasa asam. Warna buahnya ada yang hijau, ada pula yang putih. Belimbing wuluh mengandung kalsium oksalat, flavonoid, pectin, tanin, asam galat dan asam ferulat. Guna menyingkirkan jerawat, ambil 5 buah belimbing wuluh, cuci bersih kemudian tumbuk sampai halus. Setelah itu remas-remas dengan air garam secukupnya. Gosokkan pada wajah atau bagian tubuh lain yang berjerawat. Lakukan tiga kali sehari. Bisa juga dengan ramuan tradisional sebagai berikut sediakan 6 buah belimbing wuluh, 1 sendok teh serbuk belerang, dan satu buah jeruk nipis. Caranya, belimbing wuluh dan serbuk belerang digiling sampai halus, kemudian remas-remas dengan air jeruk nipis. Lalu gosokkan pelan-pelan pada wajah yang berjerawat. Lakukan 3 kali sehari.
3. Mentimun (Cucumis sativus)
Mentimun juga dapat digunakan untuk melawan jerawat yang nakal, disamping mengandung banyak air, juga mengandung vitamin A, B1 dan C serta beberapa zat seperti saponin, protein, lemak, kalsium, fosfor, besi dan belerang. Berkaitan dengan jerawat, pilih mentimun yang masih muda. Cuci bersih, lalu potong-potong, kemudian perlahan-lahan gosokkan pada wajah yang berjerawat. Biasakan minimal tiga kali sehari.
4. Jeruk nipis (Citrus aurantifolia Swingle)
Buah jeruk nipis mengandung unsur senyawa kimia antara lain limonene, linalin asetat, geranil asetat, felladren, sitral, dan asam sitrat. Untuk menghalangi jerawat, pilih buah jeruk nipis yang sudah tua lalu potong-potong sama rata. Gosokkan pada wajah yang berjerawat, sekitar 2-3 kali sehari. Atau dengan ramuan tradisional yaitu Sediakan 20 kuntum bunga melati, 2 jari asam jawa (bahasa jawa : asam kawak), 1 buah jeruk nipis. Caranya, bunga melati, asam jawa dan belerang dicuci bersih lalu ditumbuk halus. Remas-remas dengan air jeruk nipis. Kemudian gosok perlahan-lahan pada wajah yang berjerawat.
5. Temulawak (Curcuma xanthorhiza Roxb)
Temulawak juga bisa digunakan untuk membasmi jerawat karena didalamnya terdapat komponen utama kandungan zat yaitu kurkumin dan minyak atsiri. Kurkumin bermanfaat sebagai acnevulgaris, antiflamasi (antiradang), dan anti-hepatoksik (antikeracunan empedu). Sedangkan minyak atsiri temulawak mengandung phelandren, kamfer, bomeol, xanthorrhizol, dan sineal. Bila ingin wajah tidak ternodai jerawat, ambil satu jari rimpang temulawak, cuci bersih dan potong-potong. Rebus dengan air bersih sebanyak 4 gelas lalu biarkan mendidih hingga tinggal separuhnya. Setelah dingin, dapat disaring dan diminum (dapat ditambahkan madu). Minumlah dua kali sehari dan sekali minum sebanyak satu gelas.
Namun, dewasa ini, tidak hanya kulit wajah saja yang dapat terinfeksi jerawat. Kulit punggung pun dapat terkena jerawat.
Daerah punggung adalah bagian yang banyak memproduksi minyak, sama seperti daerah wajah. Dan minyak akan semakin banyak jika anda sering memijat bagian tersebut, karena pemijatan yang keras akan menstimulasi kelenjar minyak. Karena berminyak itulah maka punggung sering kali di tumbuhi jerawat, apalagi punggung adalah daerah yang sulit di jangkau saat mandi, maka punggung terkadang tidak dapat di bersihkan secara optimal.
Jerawat dipunggung sangat sulit menghilangkannya, tidak seperti menghilangkan jerawat diwajah.
Salah satu cara yang bisa digunakan untuk menghilangkan jerawat dipunggung adalah dengan putih telur dan mentimun. Manfaat dari putih telur untuk mengangkat sel-sel kulit mati sedangkan mentimun ampuh untuk menghilangkan noda hitam dikulit.
Berikut tips untuk menghilangkan jerawat di punggung.
1. Pisahkan putih telur dengan kuningnya, kemudian kocok putih telur hingga kaku
2. Potong kecil-kecil mentimun, kira-kira 3 cm
3. Masukan putih telur dan mentimun kedalam blander hingga menjadi jus
4. Oleskan kedua bahan tersebut yang sudah di blender ke punggung yang berjerawat hingga 15 menit. Kemudian bilas dengan air hangat
Untuk hasil yang maksimal lakukanlah secara rutin 2 kali dalam seminggu, hingga jerawat benar-benar hilang.
Selain itu, yang perlu di perhatikan adalah saat mandi, gosok bagian punggung anda dengan menggunakan loopah atau sponge yang bergagang, jangan menggosok dengan terlalu keras. Lakukan masker pada bagian punggung, dengan masker sesuai jenis kulit anda atau dengan masker lumpur. Selain itu, kenakanlah pakaian yang dapat menyerap keringat dari bahan katun yang biasanya lebih nyaman.

Sumber : http://www.infosehat.com/inside_level2.asp?artid=1488&secid=47&intid=4

Waspadai 7 perangkap yang menaikkan berat badan

Setiap wanita pasti takut akan menjadi gemuk. Berbagai cara dilakukan agar dapat menurunkan berat badan agar ideal. Yang paling ditakuti justru adalah kegemukan yang terjadi karena kehamilan.

Begitu menjadi mama, tanpa disadari kebiasaan sehari-hari mulai berubah. Nonton film kartun sambil ngemil bareng si kecil atau menemaninya bermain sembari duduk-duduk punya andil besar terhadap bertambahnya angka di timbangan.

Jika Anda membakar kurang dari 100 kalori per hari dibandingkan dengan sebelum punya anak, berat badan akan bertambah 5 kg dalam waktu setahun. Kabar baiknya, menjadi mama tidak harus selalu satu paket dengan tubuh gemuk, jika Anda tahu cara menghindari perangkap yang umum terjadi seperti ini.

Porsi makan tidak disesuaikan
Sewaktu hamil, Anda perlu tambahan asupan makanan sekitar 300 kalori per hari. Jumlahnya meningkat menjadi 500 kalori sehari ketika Anda menyusui. Maka biasanya Anda mengizinkan diri Anda untuk makan lebih dari biasanya. Begitu tidak hamil dan menyusui, metabolisme tubuh melambat hingga seperti sebelum hamil. Maka, sesuaikan tubuh Anda dengan perubahan tersebut. Caranya, dengan mengurangi kira-kira 2 sendok dari porsi biasanya. Kebiasaan ketika hamil yang perlu dipertahankan adalah pola hidup sehat seperti rajin berolahraga, jauhi rokok, dan cukup istirahat.

Kebanyakan duduk
Setiap hari Anda menyediakan waktu sekian jam untuk mengawasi si kecil bermain. Tapi hanya duduk diam saja tidak akan mengurangi/membakar kalori. Sambil menemani si kecil yang sedang bersantai, Anda dapat menyalakan video senam atau latihan beban dengan dumbel. Atau cara lain, setel musik yang up-beat, dan berdansalah bersama si kecil sampai puas. Selain fun bagi anak-anak, Anda sekaligus mengajarkan mereka untuk selalu aktif bergerak.

Terbiasa ngemil bareng si kecil
Anda ikut ngemil ketika menemani si kecil makan malam, namun setelah suami pulang dari kantor, Anda kembali menemaninya makan malam sungguhan. Jangan heran kalau lapisan lemak di tubuh semakin tebal.
Sebenarnya, ngemil bukan kegiatan terlarang, asal Anda melakukannya dalam porsi kecil. Atau cara lain, ganti cemilan Anda dan si kecil dengan buah-buahan.

Merasa bersalah karena ke gym
Hampir semua orang tua merasa bersalah meninggalkan anaknya beberapa jam untuk berolahraga ataupun sekedar berjalan-jalan sekedar menyegarkan pikiran. Setelah menjadi mama, Anda memang lebih sulit mencari waktu untuk menikmati ‘me time’ . tetapi, menjadi orangtua yang baik juga amat tergantung pada kebahagiaan Anda dan apakah Anda merasa nyaman terhadap diri sendiri.

Cobalah berpikir kreatif untuk mencari celah waktu sehingga Anda tetap bisa berolahraga. Misalnya memilih tempat gym yang dekat dengan rumah atau berolahraga begitu suami ada di rumah. Sekedar meluangkan waktu 10 menit untuk berlatih juga sudah cukup baik. Yang penting, jadwalkan kegiatan berolahraga tersebut secara rutin. Jika terus menunggu sampai punya waktu, pada akhirnya Anda tidak akan pernah berhasil berolahraga. Seorang mama nyaris tidak punya waktu luang kalau bukan dia sendiri yang menciptakannya.

Memasak makanan tinggi lemak
Kebanyakan anak enggan menyentuh makanan seperti sayur-sayuran, sehingga kebanyakan dari Anda mengakali dengan memasak makan malam yang disesuaikan dengan keinginan si kecil seperti chicken nugget, kentang goreng, bakso, dan makanan lain yang berlemak.

Anda dapat mengakalinya dengan cara yang lebih sehat. Yaitu membatasi jenis makanan yang diawetkan dan digoreng. Sayuran juga dapat Anda potong kecil-kecil sehingga si kecil mau memakannya.

Anda cuek dengan berat badan
Bagi mama, ada berbagai banyak hal lain yang lebih penting untuk diperhatikan sekarang ketimbang urusan berat badan. Kian banyak Anda menghabiskan waktu dan tenaga untuk mengurus anak-anak, Anda semakin tidak memperhatikan bagaimana bentuk tubuh Anda sekarang. Memang baik bila Anda tidak terobsesi pada bentuk tubuh yang ideal, tapi, di sisi lain, menjaga berat badan bukan semata-mata dilakukan demi estetika. Yang lebih penting dilakukan adalah agar Anda sehat.

Solusinya, Anda tetap bisa menjalani diet sehat (tanpa perlu menjadi terobsesi) dengan cara mengingat manfaat yang nantinya Anda peroleh bila berhasil memelihara berat badan ideal.

Sumber : http://www.infosehat.com/inside_level2.asp?artid=1486&secid=39