Golongan darah O merupakan golongan darah paling kuno dalam sejarah manusia. Gen untuk golongan darah O berkembang pada suatu titik ketika peradaban manusia beralih dari hidup berburu dan berpindah-pindah ke komunitas agraris yang menetap di suatu tempat.
Tingkah Laku : Berenergi & tidak mudah putus asa
Masalah yang dihadapi : Kencing manis, masalah usus dan pencernaan, peredaran darah kurang baik, sakit pinggang danbelakang, kegemukan, kadar kolesterol yang tinggi, tekanan darah tinggi, kadar asam urat tinggi, penyakit kanker, gout,penyakit jantung, penyumbatan arteri.
Diet : Makanan tinggi protein & kurangi karbohidrat
Sangat Bermanfaat (makanan yang beraksi sebagai obat)
Brokoli, ubi, waluh, selada, ganggang laut, lobak china, bluberi, ceri, jambu biji, bumbu kari, kacang polong, kacang merah, semua jenis bawang, rumput laut, jahe, kailan, kunyit, Daging ( sapi, kerbau, rusa, domba, anak sapi )
Netral (makanan yang beraksi sebagai makanan)
Ikan mas, belut, lobster, ikan tuna, ikan sardine, udang, telur (ayam, bebek), mentega, kacang ( hitam, merah, buncis, kedelai ), tempe, tahu, susu kedelai, bubur gandum, beras, kue beras, roti beras, tepung gandum, terung, tomat, labu, Daging ( ayam, bebek, kambing, angsa, kalkun, kelinci )
Hindari (makanan yang beraksi sebagai racun)
Daging babi, cumi-cumi, sotong, kerang, kodok, gurita, telur (angsa, puyuh), es krim, keju, susu sapi, yoghurt(semua jenis), minyak kelapa, penyu, minyak jagung, jagung, bunga brokoli, kacang tanah, kacang mede, kuaci, laichi, kentang, mentimun, kembang kol, jamur, blewah, jeruk mandarin, pisang raja, pare, anggur putih, kecap, kopi, minuman keras.
sumber: jajanan.com
Selasa, 13 April 2010
Diet Mudah
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 goreng
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
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 goreng
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
Peletakan Queue
QUEUE
(ANTRIAN)
Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in first out).
Operasi-operasi dasar dari sebuah queue adalah :
1. Enqueue : proses penambahan elemen di posisi belakang
2. Dequeue : proses pengambilan elemen di posisi depan
Selain operasi dasar di atas, ada pula operasi-operasi lain yang dapat dilakukan terhadap sebuah queue yaitu :
1. Operasi pemeriksaan queue kosong (fungsi kosong)
2. Operasi pemeriksaan queue penuh (fungsi penuh).
3. Operasi inisialisasi queue (fungsi inisialisasi)
Adapun presentasi queue dapat dilakukan dengan 2 cara yaitu :
Dengan menggunakan array statis
Operasi-operasi yang dapat dilakukan dalam queue yang menggunakan representasi array statis adalah :
1.1. Pendeklarasian sebuah queue
Setiap queue memiliki elemen-elemen (field) berupa posisi depan, posisi belakang, elemen antrian, dan maksimal elemennya.
Adapun pendeklarasian queue dalam bahasa C adalah :
#define maks 5
struct TQueue{
int depan,belakang;
int maks_queue;
int antrian[maks];
};
TQueue Q,Queue,Q2;//deklarasi variable bertipe TQueue
1.2. Inisialisasi Queue
Inisialisasi queue adalah proses pemberian nilai 0 untuk field depan dan belakang dari queue dan juga pemberian nilai maks ke maks_queue yang menunjukan banyaknya maksimal data dalam queue.
Karena dalam bahasa C elemen sebuah array dimulai dengan 0 maka proses inisialisasi nilai depan dan belakang bukan 0 tetapi -1 sehingga ketika ada proses penambahan elemen (enqueue) akan bernilai 0 sehingga elemen tersebut akan disimpan dalam elemen antrian pada posisi 0.
Implementasi fungsi inisialisasi queue dalam bahasa C adalah
void inisialisasi(TQueue *Q)
{
Q->maks_queue=maks;
Q->depan=-1;
Q->belakang=-1;
}
Cara pemanggilannya adalah :
Inisialisasi(&Q);
1.3. Fungsi Kosong
Fungsi kosong digunakan untuk memeriksa apakan keadaan queue tidak memiliki elemen. Fungsi kosong didapatkan dengan memeriksa field belakang dari queue. Jika field belakang bernilai 0 maka berarti queue kosong dan jika tidak 0 maka berarti queue mempunyai elemen.
Implementasi dalam bahasa C agak berbeda karena elemen array dimulai dari 0 sehingga pemeriksaan nilai belakang dilakukan dengan membandingkannya dengan nilai -1. Jika nilai belakang bernilai -1 maka queue kosong (true) dan jika lebih dari -1 berarti queue tidak kosong (false). Sehingga implementasinya dalam bahasa C adalah :
int kosong(TQueue Q)
{
if (Q.belakang==-1)
return 1;
else
return 0;
}
Cara pemanggilannya adalah :
if(kosong(Q))// jika queue Q kosong
……
1.4. Fungsi Penuh
Fungsi penuh berguna untuk memeriksa apakah suatu queue telah penuh. Fungsi ini diperlukan ketika proses enqueue. Fungsi ini akan bernilai benar (true) jika field belakang sama dengan nilai maks_queue jika tidak sama dengan berarti queue belum penuh.
Dalam bahasa C perbandingan yang dilakukan adalah bukan dengan maks_queue tetapi dengan nilai maks_queue-1 karena elemen array dalam bahasa C dimulai dari posisi 0. Implementasi dalam bahasa C adalah :
int penuh(TQueue Q)
{
if(Q.belakang==Q.maks_queue-1)
return 1;
else
return 0;
}
Cara pemanggilannya adalah :
If(!penuh(Q)) //if queue Q tidak(!) penuh
.....
1.5. Operasi Enqueue
Proses enqueue adalah proses untuk penambahan di posisi belakang. Penambahan ini dilakukan jika kondisi queue tidak penuh. Jika keadaan masih kosong, maka field depan dan belakang bernilai 1 tetapi jika sudah mempunyai elemen maka yang nilai belakang harus bertambah 1. Kemudian data baru disimpan di array pada posisi belakang.
Implementasi dalam C harus melakukan penyesuaian karena elemen array C dimulai dari 0 sehingga ketika queue masih kosong pemberian nilai depan dan belakang adalah 0 bukan 1. Untuk lebih jelasnya perhatikan potongan program di bawah ini :
void enqueue(TQueue *Q, int data)
{
if(!penuh(*Q))
{
if(empty(*Q)
{
Q->depan=0;
Q->belakang=0;
}
else
Q->belakang++;
Q->antrian[Q->belakang]=data;
}
else
printf("Queue Telah Penuh\n");
}
Cara penggunaannya :
int data=7
enqueue(&Q,data);
1.6. Operasi Dequeue
Operasi dequeue adalah proses pengambilan elemen queue. Tentunya elemen yang diambil selalu dari elemen pertama (1). Setelah elemen pertama diambil, maka akan diperlukan proses pergeseran elemen data setelah elemen data yang diambil (dari posisi ke-2 sampai posisi paling belakang), dan kemudian posisi belakang akan dikurangi 1 karena ada data yang diambil.
Implementasi dalam bahasa C dilakukan dengan pengambilan elemen pada posisi 0, sehingga fungsi dequeue-nya menjadi :
int dequeue(TQueue *Q)
{
int data,i;
if(!kosong(*Q))
{
data=Q->antrian[Q->depan];
for(i=0;i<=Q->belakang-1;i++)
Q->antrian[i]=Q->antrian[i+1];
Q->belakang--;
return data;
}
else
{
printf("Queue Kosong.\n");
return 0;
}
}
Cara penggunaan fungsi tersebut adalah :
int data;
data=dequeue(&Q); //ambil data dari dequeue pada queue Q
printf(“%d”,data);
2. Dengan menggunakan linked list.
Proses penyimpanan elemen queue dalam linked list mirip dengan operasi pada single linked list yang menggunakan penyimpanan tambah akhir dan hapus awal.
Operasi Enqueue
Proses enqueue dalam queue linked list adalah dengan menambahkan elemen baru ke posisi paling belakang (sambungkan field berikutnya dari field belakang ke posisi pointer baru). Setelah itu, pointer penunjuk belakang harus berpindah ke posisi baru tersebut. Proses ini seperti proses penambahan di belakang pada single linked list.
Operasi Dequeue
Proses dequeue untuk queue linked list adalah dengan mengambil data yang ditunjuk pointer depan dan kemudian pointer yang depan tersebut diambil dan kemudian dihapus. Pointer depan harus berpindah ke elemen antrian berikutnya. Proses tersebut dilakukan hanya jika linked list tidak kosong. Proses ini mirip dengan proses penghapusan data awal pada single linked list.
QUEUE DENGAN CIRCULAR ARRAY
Jika kita menggunakan array untuk queue seperti di atas, maka ketika ada proses pengambilan (dequeue) ada proses pergeseran data. Proses pergeseran data ini pasti memerlukan waktu apalagi jika elemen queue-nya banyak. Oleh karena itu solusi agar proses pergeseran dihilangkan adalah dengan metode circular array.Atau agar lebih jelas, array di atas dapat dibayangkan ke dalam bentuk seperti lingkaran di bawah ini. Aturan-aturan dalam queue yang menggunakan circular array adalah :
1. Proses penghapusan dilakukan dengan cara nilai depan (front) ditambah 1 : depan=depan + 1.
2. Proses penambahan elemen sama dengan linear array yaitu nilai belakang ditambah 1 : belakang=belakang + 1.
3. Jika depan = maks dan ada elemen yang akan dihapus, maka nilai depan = 1.
4. Jika belakang = maks dan depan tidak 1 maka jika ada elemen yang akan ditambahkan, nilai belakang=1
5. Jika hanya tinggal 1 elemen di queue (depan = belakang), dan akan dihapus maka depan diisi 0 dan belakang diisi dengan 0 (queue kosong).
Operasi-operasi yang dapat terjadi dalam queue yang menggunakan circular array adalah :
1. Pendeklarasian Queue
Setiap queue memiliki elemen-elemen (field) berupa posisi depan, posisi belakang, elemen antrian, dan maksimal elemennya.
2. Inisialisasi Queue
Inisialisasi queue adalah proses pemberian nilai 0 untuk field depan dan belakang dari queue dan juga pemberian nilai maks ke maks_queue yang menunjukan banyaknya maksimal data dalam queue.
Karena dalam bahasa C elemen sebuah array dimulai dengan 0 maka proses inisialisasi nilai depan dan belakang bukan 0 tetapi -1 sehingga ketika ada proses penambahan elemen (enqueue) akan bernilai
3. Fungsi Kosong
Suatu queue yang menggunakan circular array dapat dikatakan kosong jika nilai yang menunjuk posisi depan atau belakang mempunyai nilai 0.
Implementasi dalam bahasa C, perbandingan posisi depan atau belakang dilakukan bukan dengan angka 0 tetapi angka -1 karena angka 0 menunjukan elemen pertama dari array.
4. Fungsi Penuh
Suatu queue akan disebut penuh jika terjadi 2 hal yaitu jika nilai depan mempunyai nilai 1 dan posisi belakang sama dengan maks_queue atau jika posisi depan sama dengan posisi belakang +1. Jika salah satu dari 2 hal tersebut terjadi maka fungsi penuh mempunyai nilai true dan jika tidak terjadi 2 hal tersebut maka fungsi bernilai false.
Implementasi dalam bahasa C agar beda karena posisi awal array bukan 1 tapi 0 dan posisi terakhir data adalah maks_queue-1 bukan maks_queue.
5. Operasi Enqueue
Proses enqueue data hanya bisa dilakukan jika queue tidak kosong. Ada beberapa hal yang harus diperhatikan ketika akan melakukan enqueue pada circular array, diantaranya adalah :
- Kondisi ketika queue masih kosong. Jika ini terjadi, maka posisi depan dan belakang bernilai 0.
- Ketika ketika nilai belakang sama dengan maks_queue, maka posisi belakang adalah 0. Ini terjadi ketika posisi depan lebih besar dari 0 (pernah ada dequeue).
- Ketika nilai belakang masih lebih kecil dari maks_queue maka posisi belakang ditambah 1 : belakang=belakang+1;
Dari ketentuan-ketentuan di atas dapat diimplementasikan dalam bahasa C dengan mengganti beberapa hal yaitu posisi perbandingan/pengisian dengan nilai 0 diganti dengan perbandingan/pengisian dengan nilai -1 dan perbandingan dengan nilai maks_queue diganti dengan maks_queue-1. Itu disebabkan karena dalam bahasa C array dimulai dari 0.
6. Operasi Dequeue
Proses dequeue hanya bisa dilakukan jika queue dalam keadaan tidak kosong. Ada beberapa kondisi yang harus diperhatikan ketika dequeue elemen queue yaitu :
- Kondisi ketika posisi depan sama dengan posisi belakang (queue hanya memiliki 1 elemen) maka nilai depan dan belakang diisi dengan 0 (queue kosong).
- Jika posisi depan sama dengan posisi maks_queue maka posisi depan berpindah ke 1.
- Selain itu, posisi depan ditambah dengan 1 : depan=depan+1
Ketika kita mengimplementasikannya dalam bahasa C, maka ada beberapa hal yang harus diganti adalah semua pengisian/perbandingan dengan angka 1 diganti dengan 0 (karena elemen array dalam bahasa C adalah 0), serta ketika ada perbandingan/pengisian dengan nilai 0 diganti dengan -1 dan perbandingan/pengisian dengan nilai maks_queue diganti dengan maks_queue-1.
sumber: gudangilmu.com
(ANTRIAN)
Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in first out).
Operasi-operasi dasar dari sebuah queue adalah :
1. Enqueue : proses penambahan elemen di posisi belakang
2. Dequeue : proses pengambilan elemen di posisi depan
Selain operasi dasar di atas, ada pula operasi-operasi lain yang dapat dilakukan terhadap sebuah queue yaitu :
1. Operasi pemeriksaan queue kosong (fungsi kosong)
2. Operasi pemeriksaan queue penuh (fungsi penuh).
3. Operasi inisialisasi queue (fungsi inisialisasi)
Adapun presentasi queue dapat dilakukan dengan 2 cara yaitu :
Dengan menggunakan array statis
Operasi-operasi yang dapat dilakukan dalam queue yang menggunakan representasi array statis adalah :
1.1. Pendeklarasian sebuah queue
Setiap queue memiliki elemen-elemen (field) berupa posisi depan, posisi belakang, elemen antrian, dan maksimal elemennya.
Adapun pendeklarasian queue dalam bahasa C adalah :
#define maks 5
struct TQueue{
int depan,belakang;
int maks_queue;
int antrian[maks];
};
TQueue Q,Queue,Q2;//deklarasi variable bertipe TQueue
1.2. Inisialisasi Queue
Inisialisasi queue adalah proses pemberian nilai 0 untuk field depan dan belakang dari queue dan juga pemberian nilai maks ke maks_queue yang menunjukan banyaknya maksimal data dalam queue.
Karena dalam bahasa C elemen sebuah array dimulai dengan 0 maka proses inisialisasi nilai depan dan belakang bukan 0 tetapi -1 sehingga ketika ada proses penambahan elemen (enqueue) akan bernilai 0 sehingga elemen tersebut akan disimpan dalam elemen antrian pada posisi 0.
Implementasi fungsi inisialisasi queue dalam bahasa C adalah
void inisialisasi(TQueue *Q)
{
Q->maks_queue=maks;
Q->depan=-1;
Q->belakang=-1;
}
Cara pemanggilannya adalah :
Inisialisasi(&Q);
1.3. Fungsi Kosong
Fungsi kosong digunakan untuk memeriksa apakan keadaan queue tidak memiliki elemen. Fungsi kosong didapatkan dengan memeriksa field belakang dari queue. Jika field belakang bernilai 0 maka berarti queue kosong dan jika tidak 0 maka berarti queue mempunyai elemen.
Implementasi dalam bahasa C agak berbeda karena elemen array dimulai dari 0 sehingga pemeriksaan nilai belakang dilakukan dengan membandingkannya dengan nilai -1. Jika nilai belakang bernilai -1 maka queue kosong (true) dan jika lebih dari -1 berarti queue tidak kosong (false). Sehingga implementasinya dalam bahasa C adalah :
int kosong(TQueue Q)
{
if (Q.belakang==-1)
return 1;
else
return 0;
}
Cara pemanggilannya adalah :
if(kosong(Q))// jika queue Q kosong
……
1.4. Fungsi Penuh
Fungsi penuh berguna untuk memeriksa apakah suatu queue telah penuh. Fungsi ini diperlukan ketika proses enqueue. Fungsi ini akan bernilai benar (true) jika field belakang sama dengan nilai maks_queue jika tidak sama dengan berarti queue belum penuh.
Dalam bahasa C perbandingan yang dilakukan adalah bukan dengan maks_queue tetapi dengan nilai maks_queue-1 karena elemen array dalam bahasa C dimulai dari posisi 0. Implementasi dalam bahasa C adalah :
int penuh(TQueue Q)
{
if(Q.belakang==Q.maks_queue-1)
return 1;
else
return 0;
}
Cara pemanggilannya adalah :
If(!penuh(Q)) //if queue Q tidak(!) penuh
.....
1.5. Operasi Enqueue
Proses enqueue adalah proses untuk penambahan di posisi belakang. Penambahan ini dilakukan jika kondisi queue tidak penuh. Jika keadaan masih kosong, maka field depan dan belakang bernilai 1 tetapi jika sudah mempunyai elemen maka yang nilai belakang harus bertambah 1. Kemudian data baru disimpan di array pada posisi belakang.
Implementasi dalam C harus melakukan penyesuaian karena elemen array C dimulai dari 0 sehingga ketika queue masih kosong pemberian nilai depan dan belakang adalah 0 bukan 1. Untuk lebih jelasnya perhatikan potongan program di bawah ini :
void enqueue(TQueue *Q, int data)
{
if(!penuh(*Q))
{
if(empty(*Q)
{
Q->depan=0;
Q->belakang=0;
}
else
Q->belakang++;
Q->antrian[Q->belakang]=data;
}
else
printf("Queue Telah Penuh\n");
}
Cara penggunaannya :
int data=7
enqueue(&Q,data);
1.6. Operasi Dequeue
Operasi dequeue adalah proses pengambilan elemen queue. Tentunya elemen yang diambil selalu dari elemen pertama (1). Setelah elemen pertama diambil, maka akan diperlukan proses pergeseran elemen data setelah elemen data yang diambil (dari posisi ke-2 sampai posisi paling belakang), dan kemudian posisi belakang akan dikurangi 1 karena ada data yang diambil.
Implementasi dalam bahasa C dilakukan dengan pengambilan elemen pada posisi 0, sehingga fungsi dequeue-nya menjadi :
int dequeue(TQueue *Q)
{
int data,i;
if(!kosong(*Q))
{
data=Q->antrian[Q->depan];
for(i=0;i<=Q->belakang-1;i++)
Q->antrian[i]=Q->antrian[i+1];
Q->belakang--;
return data;
}
else
{
printf("Queue Kosong.\n");
return 0;
}
}
Cara penggunaan fungsi tersebut adalah :
int data;
data=dequeue(&Q); //ambil data dari dequeue pada queue Q
printf(“%d”,data);
2. Dengan menggunakan linked list.
Proses penyimpanan elemen queue dalam linked list mirip dengan operasi pada single linked list yang menggunakan penyimpanan tambah akhir dan hapus awal.
Operasi Enqueue
Proses enqueue dalam queue linked list adalah dengan menambahkan elemen baru ke posisi paling belakang (sambungkan field berikutnya dari field belakang ke posisi pointer baru). Setelah itu, pointer penunjuk belakang harus berpindah ke posisi baru tersebut. Proses ini seperti proses penambahan di belakang pada single linked list.
Operasi Dequeue
Proses dequeue untuk queue linked list adalah dengan mengambil data yang ditunjuk pointer depan dan kemudian pointer yang depan tersebut diambil dan kemudian dihapus. Pointer depan harus berpindah ke elemen antrian berikutnya. Proses tersebut dilakukan hanya jika linked list tidak kosong. Proses ini mirip dengan proses penghapusan data awal pada single linked list.
QUEUE DENGAN CIRCULAR ARRAY
Jika kita menggunakan array untuk queue seperti di atas, maka ketika ada proses pengambilan (dequeue) ada proses pergeseran data. Proses pergeseran data ini pasti memerlukan waktu apalagi jika elemen queue-nya banyak. Oleh karena itu solusi agar proses pergeseran dihilangkan adalah dengan metode circular array.Atau agar lebih jelas, array di atas dapat dibayangkan ke dalam bentuk seperti lingkaran di bawah ini. Aturan-aturan dalam queue yang menggunakan circular array adalah :
1. Proses penghapusan dilakukan dengan cara nilai depan (front) ditambah 1 : depan=depan + 1.
2. Proses penambahan elemen sama dengan linear array yaitu nilai belakang ditambah 1 : belakang=belakang + 1.
3. Jika depan = maks dan ada elemen yang akan dihapus, maka nilai depan = 1.
4. Jika belakang = maks dan depan tidak 1 maka jika ada elemen yang akan ditambahkan, nilai belakang=1
5. Jika hanya tinggal 1 elemen di queue (depan = belakang), dan akan dihapus maka depan diisi 0 dan belakang diisi dengan 0 (queue kosong).
Operasi-operasi yang dapat terjadi dalam queue yang menggunakan circular array adalah :
1. Pendeklarasian Queue
Setiap queue memiliki elemen-elemen (field) berupa posisi depan, posisi belakang, elemen antrian, dan maksimal elemennya.
2. Inisialisasi Queue
Inisialisasi queue adalah proses pemberian nilai 0 untuk field depan dan belakang dari queue dan juga pemberian nilai maks ke maks_queue yang menunjukan banyaknya maksimal data dalam queue.
Karena dalam bahasa C elemen sebuah array dimulai dengan 0 maka proses inisialisasi nilai depan dan belakang bukan 0 tetapi -1 sehingga ketika ada proses penambahan elemen (enqueue) akan bernilai
3. Fungsi Kosong
Suatu queue yang menggunakan circular array dapat dikatakan kosong jika nilai yang menunjuk posisi depan atau belakang mempunyai nilai 0.
Implementasi dalam bahasa C, perbandingan posisi depan atau belakang dilakukan bukan dengan angka 0 tetapi angka -1 karena angka 0 menunjukan elemen pertama dari array.
4. Fungsi Penuh
Suatu queue akan disebut penuh jika terjadi 2 hal yaitu jika nilai depan mempunyai nilai 1 dan posisi belakang sama dengan maks_queue atau jika posisi depan sama dengan posisi belakang +1. Jika salah satu dari 2 hal tersebut terjadi maka fungsi penuh mempunyai nilai true dan jika tidak terjadi 2 hal tersebut maka fungsi bernilai false.
Implementasi dalam bahasa C agar beda karena posisi awal array bukan 1 tapi 0 dan posisi terakhir data adalah maks_queue-1 bukan maks_queue.
5. Operasi Enqueue
Proses enqueue data hanya bisa dilakukan jika queue tidak kosong. Ada beberapa hal yang harus diperhatikan ketika akan melakukan enqueue pada circular array, diantaranya adalah :
- Kondisi ketika queue masih kosong. Jika ini terjadi, maka posisi depan dan belakang bernilai 0.
- Ketika ketika nilai belakang sama dengan maks_queue, maka posisi belakang adalah 0. Ini terjadi ketika posisi depan lebih besar dari 0 (pernah ada dequeue).
- Ketika nilai belakang masih lebih kecil dari maks_queue maka posisi belakang ditambah 1 : belakang=belakang+1;
Dari ketentuan-ketentuan di atas dapat diimplementasikan dalam bahasa C dengan mengganti beberapa hal yaitu posisi perbandingan/pengisian dengan nilai 0 diganti dengan perbandingan/pengisian dengan nilai -1 dan perbandingan dengan nilai maks_queue diganti dengan maks_queue-1. Itu disebabkan karena dalam bahasa C array dimulai dari 0.
6. Operasi Dequeue
Proses dequeue hanya bisa dilakukan jika queue dalam keadaan tidak kosong. Ada beberapa kondisi yang harus diperhatikan ketika dequeue elemen queue yaitu :
- Kondisi ketika posisi depan sama dengan posisi belakang (queue hanya memiliki 1 elemen) maka nilai depan dan belakang diisi dengan 0 (queue kosong).
- Jika posisi depan sama dengan posisi maks_queue maka posisi depan berpindah ke 1.
- Selain itu, posisi depan ditambah dengan 1 : depan=depan+1
Ketika kita mengimplementasikannya dalam bahasa C, maka ada beberapa hal yang harus diganti adalah semua pengisian/perbandingan dengan angka 1 diganti dengan 0 (karena elemen array dalam bahasa C adalah 0), serta ketika ada perbandingan/pengisian dengan nilai 0 diganti dengan -1 dan perbandingan/pengisian dengan nilai maks_queue diganti dengan maks_queue-1.
sumber: gudangilmu.com
Rabu, 07 April 2010
Sisi Lain Coklat
Sapa sih yang gak kenal sama namanya coklat? Mulai dari silverqueen, cadburry bahkan banyak merek lainnya yang beredar. Pasti deh semua kenal yang namanya coklat yang manis dan lezat itu. Bahkan negara eropa pun terkenal akan coklat yang super lezat,tapi sayangnya harganya mahal. Tapi apa boleh buat barang import gitu, tapi jangan kecewa para penikmat coklat banyak dijual coklat asli indonesia salah satunya “COKLAT MONGGO”. Pasti saat mendengar kata monggo otak kita langsung bilang pasti yang punya orang jawa? Ternyata salah yang membuat merek “Monggo” yang artinya dalam bahasa indonesia “silahkan” mungkin penamaannya tersebut ditujukan kepada penikmat coklat “Monggo dibeli coklatnya” ternyata dibuat bukan oleh orang dalam negri, tapi merupakan perusahaan yang dibuat orang bule. Loh kok bisa? Jangan-jangan Bule jadi-jadian? he2x. Bule itu bernama Thierry Detournay asal belgia dan temannya Edward Riando Picasauw (Edo), yang didirikan saat tahun 2001. Ide tersebut merupakan pengalaman pribadi sang bule sulitnya mencari coklat kualitas tinggi di Indonesia. Ya dengan semangat mereka berguru ke ahli untuk meracik rasa coklat yang dapat diterima masyarakat. Tapi kenapa ya kok gak pake merek yang lebih bagus buat pasar internasional? Klo boleh punya ide sih tak namain aja “Coklat Edo KodoLegit” biar ada kesan bisa jadi merek dagang internasional, kan mirip tuh sama item manis gitu ma penyanyi indonesia timur itu, ato mungkin “Cocolatoa Thierry Henrytos” tapi sayangnya bukan aku pemiliknya. Yah namanya juga coklat itu untuk pangsa pasar di indonesia jadinya cukup dibuat merek yang melekat yaitu coklat monggo, maklum lokasi pabriknya juga di Jawa lebih tepatnya di Yogyakarta. Mungkin biar mudah diingat, karena rata-rata masyarakat tidak asing sama kata “monggo”.
sumber:http://symplexcamp.wordpress.com/2009/05/05/coklat-monggo-very-tastenyummy-bagi-penikmat-coklat/
sumber:http://symplexcamp.wordpress.com/2009/05/05/coklat-monggo-very-tastenyummy-bagi-penikmat-coklat/
Selasa, 06 April 2010
Penemu Coklat
Kisah awal penemuan cokelat, sejauh dapat ditelusuri, berawal 2000 tahun yang lalu di wilayah tropis Amerika Tengah dimana suku Indian Maya memperlakukan biji kakao sebagai barang berharga.
Gambar buah dan pohon kakao diukir pada tembok-tembok kuil mereka yang megah, dan tulisan kuno suku Maya menunjukkan kakao sebagai "makanan para dewa". Suku Indian Maya adalah yang pertama menciptakan minuman dari biji kakao yang dihancurkan yang hanya dapat dinikmati oleh kaum bangsawan atau pada upacara ritual suci.
Peran penting cokelat dalam kerajaan Aztec juga tercatat dengan jelas. Mereka menamakan minuman berharga dari biji kakao tersebut sebagai "xocolatl" yang berarti "air yang pahit". Rasa cokelat asli memang pahit sedangkan cokelat yang sering kita makan selama ini umumnya telah banyak dicampur dengan gula dan susu sehingga terasa manis.
Seperti para pendahulunya, orang-orang Aztec meminum cokelat hangat tanpa pemanis hanya pada upacara-upacara spesial. Montezuma II, salah satu raja Aztec, menyimpan sejumlah besar biji cokelat dalam sebuah gudang besar dan mengkonsumsi minimum 50 cawan cokelat hangat setiap hari dari sebuah cawan emas.
sumber: Yahoo.com
Gambar buah dan pohon kakao diukir pada tembok-tembok kuil mereka yang megah, dan tulisan kuno suku Maya menunjukkan kakao sebagai "makanan para dewa". Suku Indian Maya adalah yang pertama menciptakan minuman dari biji kakao yang dihancurkan yang hanya dapat dinikmati oleh kaum bangsawan atau pada upacara ritual suci.
Peran penting cokelat dalam kerajaan Aztec juga tercatat dengan jelas. Mereka menamakan minuman berharga dari biji kakao tersebut sebagai "xocolatl" yang berarti "air yang pahit". Rasa cokelat asli memang pahit sedangkan cokelat yang sering kita makan selama ini umumnya telah banyak dicampur dengan gula dan susu sehingga terasa manis.
Seperti para pendahulunya, orang-orang Aztec meminum cokelat hangat tanpa pemanis hanya pada upacara-upacara spesial. Montezuma II, salah satu raja Aztec, menyimpan sejumlah besar biji cokelat dalam sebuah gudang besar dan mengkonsumsi minimum 50 cawan cokelat hangat setiap hari dari sebuah cawan emas.
sumber: Yahoo.com
Senin, 05 April 2010
Serba Coklat
Peralatan Untuk Membuat Cokelat
Panci Tim
Sistem dua tingkat untuk melelehkan cokelat, isi, atau saus lezat tanpa kontak langsung denagn panas.Mangkuk atau panci tahan panas ditaruh diatas panci saus yang berisi air panas setengahnya.Hati-hati, air jangan sampai naik lebih tinggi dari bagian bawah mangkuk atau panci berisi cokelat.
Bain-marie/Panggang air
Bejana metal berisi air panas setengahnya, di dalamnya ditaruh mangkuk-mangkuk berisi cokelat atau adonan isi untuk dimasak atau dilelehkan perlahan.
Mangkuk Kecil Tahan Panas
Untuk melelehkan cokelat dalam wajan.
Termometer
Resep tertentu, seperti fondant, praline, dan fudge, memerlukan kontrol suhu yang cermat.Pakailah termometer permen karena dapat mengukur suhu tinggi yangdiperlukan dalam pembuatan cokelat.
Tongkat dan Sendok Pencelup
Dipakai untuk mencelupkan potongan buah atau kacang-kacangan ke dalam cokelat leleh untuk melapisnya.
Minyak dan Ekstrak
Cokelat umumnya hnya dapat diberi citarasa dengan bahan yang terbuat dari minyak dan ekstrak, karena segala jenis air yang ditambahkan ke dalam cokelat leleh hanya akan merusak penampilan , rasa dan kekentalannya.
Pewarna
Ingatlah, hanya pewarna dari bahan minyak yang boleh dipakai untuk mewarnai cokelat.Kuas yang halus sangat penting untuk memberi efek warna yang bagus.
Cetakan
Sekarang tersedia berbagai jenis cetakan sehingga anda dapat membuat cokelat sendiri berbentuk kerang, hati, lonceng, atau bunga.Pakailah cetakan cokelat model lama yang sudah biasa.Untuk hasil yang terbaik, lihat resep mencetak cokelat.
sumber:http://www.icecreamkoel.com/coklat.html
Panci Tim
Sistem dua tingkat untuk melelehkan cokelat, isi, atau saus lezat tanpa kontak langsung denagn panas.Mangkuk atau panci tahan panas ditaruh diatas panci saus yang berisi air panas setengahnya.Hati-hati, air jangan sampai naik lebih tinggi dari bagian bawah mangkuk atau panci berisi cokelat.
Bain-marie/Panggang air
Bejana metal berisi air panas setengahnya, di dalamnya ditaruh mangkuk-mangkuk berisi cokelat atau adonan isi untuk dimasak atau dilelehkan perlahan.
Mangkuk Kecil Tahan Panas
Untuk melelehkan cokelat dalam wajan.
Termometer
Resep tertentu, seperti fondant, praline, dan fudge, memerlukan kontrol suhu yang cermat.Pakailah termometer permen karena dapat mengukur suhu tinggi yangdiperlukan dalam pembuatan cokelat.
Tongkat dan Sendok Pencelup
Dipakai untuk mencelupkan potongan buah atau kacang-kacangan ke dalam cokelat leleh untuk melapisnya.
Minyak dan Ekstrak
Cokelat umumnya hnya dapat diberi citarasa dengan bahan yang terbuat dari minyak dan ekstrak, karena segala jenis air yang ditambahkan ke dalam cokelat leleh hanya akan merusak penampilan , rasa dan kekentalannya.
Pewarna
Ingatlah, hanya pewarna dari bahan minyak yang boleh dipakai untuk mewarnai cokelat.Kuas yang halus sangat penting untuk memberi efek warna yang bagus.
Cetakan
Sekarang tersedia berbagai jenis cetakan sehingga anda dapat membuat cokelat sendiri berbentuk kerang, hati, lonceng, atau bunga.Pakailah cetakan cokelat model lama yang sudah biasa.Untuk hasil yang terbaik, lihat resep mencetak cokelat.
sumber:http://www.icecreamkoel.com/coklat.html
Minggu, 04 April 2010
STACK
Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
* Elemen TOP (puncak) diketahui
* penisipan dan penghapusan elemen selalu dilakukan di TOP
* LIFO
Pemanfaatan Stack :
* Perhitungan ekspresi aritmatika (posfix)
* algoritma backtraking (runut balik)
* algoritma rekursif
Operasi Stack yang biasanya :
1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
3. IsEmpty ()
4. IsFull ()
5. dan beberapas selektor yang lain
sumber: Wiki.com
* Elemen TOP (puncak) diketahui
* penisipan dan penghapusan elemen selalu dilakukan di TOP
* LIFO
Pemanfaatan Stack :
* Perhitungan ekspresi aritmatika (posfix)
* algoritma backtraking (runut balik)
* algoritma rekursif
Operasi Stack yang biasanya :
1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
3. IsEmpty ()
4. IsFull ()
5. dan beberapas selektor yang lain
sumber: Wiki.com
Langganan:
Postingan (Atom)