Anda ingin tahu rahasia awet muda? Dengan mengkonsumsi tomat, kulit Anda akan tetap terjaga.
Tim peneliti dari British Society for Investigative Dermatology yang merupakan gabungan dari Universitas Manchester dan Newcastle menemukan bahwa mengonsumsi lima sendok makan saus tomat per hari bisa membantu memperbaiki kulit dan melindunginya dari efek sinar ultraviolet. Hasilnya ternyata, tomat ampuh mencegah penuaan dini,bahkan pada pasien penyakit kanker.
Para peneliti menemukan kandungan antioksidan dalam tomat yang disebut lycopene. Antioksidan inilah yang berperan memberikan manfaat bagi kulit. Sementara itu, kandungan zat penting dalam tomat akan mencapai konsentrasi optimal apabila dimasak dengan benar. Selain itu, antioksidan tersebut juga mengurangi risiko terkena penyakit kanker prostat.
Para peneliti menyimpulkan zat antioksidan pada tomat tersebut juga memberikan perlindungan kulit dari efek negatif sinar matahari. Awalnya, para peneliti memberikan sekitar 55 gram saus tomat standar kepada 10 responden. Dalam saus tomat itu banyak sekali kandungan tomat asli. Selain itu, para responden juga diberi 10 gram minyak zaitun per hari. Untuk uji coba lainnya,mereka hanya diberi minyak zaitun. Setelah dilakukan percobaan tiga bulan, kulit dari responden yang mengonsumsi saus tomat menunjukkan 33% lebih terlindungi dari terbakar sinar matahari. Ini setara khasiat dari krim sinar matahari dan prokolagen level tinggi. Prokolagen merupakan molekul yang memberi kulit nutrisi dan menjaganya tetap kencang. Uji coba tersebut juga menggunakan sinar lampu ultraviolet.
"Diet menggunakan tomat bisa meningkatkan level prokolagen dalam kulit secara signifikan. Ini bisa meningkatkan level perbaikan kembali kulit yang telah mengalami penuaan," papar Ketua Tim Peneliti Profesor Lesley Rhodes, seorang ahli dermatologi pada Universitas Manchester. Menurutnya, tingkat takaran tomat yang diberikan kepada responden tidaklah terlalu besar. Meski kuantitasnya kecil,ternyata mampu memberikan manfaat cukup signifikan.
Karena itulah, ia menilai tomat sangat potensial sebagai nutrisi tambahan yang sangat membantu. Bukan sekadar cara alternatif selain menggunakan krim anti sinar matahari. Namun, ini masih penelitian awal dan singkat sehingga tim peneliti masih memerlukan penelitian lanjutan guna mendapatkan analisis ilmiah tentang manfaat-manfaat lycopene bagi kulit. Tim peneliti juga tidak merekomendasikan kepada masyarakat agar meninggalkan penggunaan krim anti sinar matahari dan menggantinya dengan tomat.
Sumber : http://www.infosehat.com/inside_level2.asp?artid=1489&secid=32&intid=5
Sabtu, 27 Februari 2010
Hati-Hati Ketergantungan Suplemen!
Suplemen dapat berupa nutrisi seperti vitamin, atau non nutrisi, seperti herbal yang sebenarnya tidak esensial (dalam arti tidak diperlukan oleh tubuh).
Suplemen pada umumnya harus dikonsumsi setiap hari. Beragam fungsi suplemen bagi tubuh untuk:
1. Menambah fungsi makan dan nutrisi yang lain
2. Memperkuat daya tahan tubuh
Kandungan yang terkandung dalam suplemen cukup luas, misalnya: vitamin, multivitamin, atau makanan bergizi lainnya. Terkadang juga ditambahkan madu, herbal, dan mineral di dalamnya.
Tidak semua orang memerlukan suplemen. Walaupun dalam kondisi tubuh tertentu, suplemen memang diperlukan tubuh. Misalnya:
1. Jika Anda dalam keadaan anemia
2. Kurang gizi karena tidak napsu makan
3. Orang yang terbaring sakit dalam jangka waktu yang lama
4. Baru sembuh dari sakitnya
5. Orang yang membutuhkan banyak tenaga akibat aktivitas yang padat
Jaga asupan vitamin (terutama yang larut dalam lemak), misalnya: vitamin A, D, E, dan K agar tidak berada pada dosis tinggi. Sebab jika diasup dalam jumlah esar dan terus menerus akan disimpan di dalam hati, yang lama kelamaan akan mengendap dan memicu penyakit. Hindari mengkonsumsi vitamin E lebih dari 400 gr sehari secara terus menerus.
Selain itu, jaga juga pada asupan vitamin yang larut air (misalnya vitamin C). Kelebihan dosis pada vitamin C namun masih Kurang dari 1000 mg, dapat ditolerir oleh tubuh. Jika di atas 1000 mg, terutama dengan kondisi konsumsi air putih yang kurang dapat menyebabkan batu ginjal.
Cara bijak memilih cuplemen:
1. Teliti dan selektif, baca terleih dahulu kandungan dan aturan pakai
2. Mencari info kesehatan dari sumber-sumber terpercayauntuk menambah wawasan dan mencegah kesalahan persepsi
3. Ingatlah bahwa kondisi tubuh setiap orang berbeda. Begitu pula dengan kebutuhannya
4. Konsultasilah ke dokter jika Anda ragu terhadap suatu suplemen
Beberapa fakta yang harus diperhatikan:
1. Asupan suplemen yang mengandung vitamin A berlebih dapat mengakibatkan kulit pecah-pecah, batu ginjal, dan kelainan tulang
2. Keliru jika menganggap vitamin C bermanfaat untuk mengobati sariawan. Sariawan terjadi bukan karena kekurangan vitamin C tapi lebih disebabkan oleh penyakit yang timbul akibat sensitifitas mukosa atau lendir mulut. Umumnya terjadi pada orang yang banyak makan terlalu pedas, asam, dan asin.
3. Kekurangan vitamin C menyebabkan luka di pinggir mulut
4. Anak-anak boleh menggunakan suplemen untuk kasus tertentu, seperti kurang napsu makan. Gunakan suplemen yang berasal dari dalam negri karena suplemen yang berasal dari luar negri belum tentu cocok dengan kebutuhan tubuh kita.
Sumber : http://www.infosehat.com/inside_level2.asp?artid=1491&secid=38
Suplemen pada umumnya harus dikonsumsi setiap hari. Beragam fungsi suplemen bagi tubuh untuk:
1. Menambah fungsi makan dan nutrisi yang lain
2. Memperkuat daya tahan tubuh
Kandungan yang terkandung dalam suplemen cukup luas, misalnya: vitamin, multivitamin, atau makanan bergizi lainnya. Terkadang juga ditambahkan madu, herbal, dan mineral di dalamnya.
Tidak semua orang memerlukan suplemen. Walaupun dalam kondisi tubuh tertentu, suplemen memang diperlukan tubuh. Misalnya:
1. Jika Anda dalam keadaan anemia
2. Kurang gizi karena tidak napsu makan
3. Orang yang terbaring sakit dalam jangka waktu yang lama
4. Baru sembuh dari sakitnya
5. Orang yang membutuhkan banyak tenaga akibat aktivitas yang padat
Jaga asupan vitamin (terutama yang larut dalam lemak), misalnya: vitamin A, D, E, dan K agar tidak berada pada dosis tinggi. Sebab jika diasup dalam jumlah esar dan terus menerus akan disimpan di dalam hati, yang lama kelamaan akan mengendap dan memicu penyakit. Hindari mengkonsumsi vitamin E lebih dari 400 gr sehari secara terus menerus.
Selain itu, jaga juga pada asupan vitamin yang larut air (misalnya vitamin C). Kelebihan dosis pada vitamin C namun masih Kurang dari 1000 mg, dapat ditolerir oleh tubuh. Jika di atas 1000 mg, terutama dengan kondisi konsumsi air putih yang kurang dapat menyebabkan batu ginjal.
Cara bijak memilih cuplemen:
1. Teliti dan selektif, baca terleih dahulu kandungan dan aturan pakai
2. Mencari info kesehatan dari sumber-sumber terpercayauntuk menambah wawasan dan mencegah kesalahan persepsi
3. Ingatlah bahwa kondisi tubuh setiap orang berbeda. Begitu pula dengan kebutuhannya
4. Konsultasilah ke dokter jika Anda ragu terhadap suatu suplemen
Beberapa fakta yang harus diperhatikan:
1. Asupan suplemen yang mengandung vitamin A berlebih dapat mengakibatkan kulit pecah-pecah, batu ginjal, dan kelainan tulang
2. Keliru jika menganggap vitamin C bermanfaat untuk mengobati sariawan. Sariawan terjadi bukan karena kekurangan vitamin C tapi lebih disebabkan oleh penyakit yang timbul akibat sensitifitas mukosa atau lendir mulut. Umumnya terjadi pada orang yang banyak makan terlalu pedas, asam, dan asin.
3. Kekurangan vitamin C menyebabkan luka di pinggir mulut
4. Anak-anak boleh menggunakan suplemen untuk kasus tertentu, seperti kurang napsu makan. Gunakan suplemen yang berasal dari dalam negri karena suplemen yang berasal dari luar negri belum tentu cocok dengan kebutuhan tubuh kita.
Sumber : http://www.infosehat.com/inside_level2.asp?artid=1491&secid=38
Tips Memperluas Area Baca Pada Firefox
Anda yang sering menggunakan laptop atau netbook dengan ukuran layar yang kecil barangkali merasa kurang nyaman ketika harus membaca tulisan yang (agak) panjang. Ukuran layar yang kecil seringkali “memaksa” Anda untuk sering melakukan scroll.
Untuk membuat Anda bisa sedikit lebih nyaman dalam membaca artikel yang panjang Anda dapat memperluas area baca pada browser Firefox yang Anda gunakan. Ada pun caranya adalah sebagai berikut:
1. Mengecilkan ukuran icon pada toolbar
Caranya adalah dengan mengklik kanan pada navigation toolbar lalu klik menu customize, pilih dengan memberi tanda check atau centhang pada Use Small Icons.
2. Menyembunyikan Toolbar
Secara default Firefox akan menampilkan menu toolbar, navigation toolbar dan bookmarks toolbar. Anda bisa menyembunyikan bookmarks toolbar dan menu toolbar. Untuk menyembunyikan menu toolbar lihat pada point 3 dan 4 di bawah.
3. Personal Menu
Dengan firefox addons ini Anda dapat menyembunyikan menu toolbar atau pun mengatur menu apa saja yang akan ditampilkan .
4. Tiny Menu
Firefox addons TinyMenu ini fungsinya mirip seperti Personal Menu
5. Tab Kit
Firefox addons Tab Kit dapat digunakan untuk mengelompokkan tab yang sedang dibuka sekaligus mengubah posisi tab dari horizontal menjadi vertikal. Posisi tab secara vertikal akan lebih “ideal” kalau Anda menggunakan layar monitor jenis widescreen.
6. Hide GUI Bar
Setelah Anda menginstall addons ini Anda dapat menyembunyikan navigation toolbar, bookmarks toolbar dan statusbar dengan menekan tombol Ctrl + Shift + A. Tekan tombol yang sama untuk menampilkan kembali.
Sumber : http://www.klik-kanan.com/tips-memperluas-area-baca-pada-firefox.htm#more-1037
Untuk membuat Anda bisa sedikit lebih nyaman dalam membaca artikel yang panjang Anda dapat memperluas area baca pada browser Firefox yang Anda gunakan. Ada pun caranya adalah sebagai berikut:
1. Mengecilkan ukuran icon pada toolbar
Caranya adalah dengan mengklik kanan pada navigation toolbar lalu klik menu customize, pilih dengan memberi tanda check atau centhang pada Use Small Icons.
2. Menyembunyikan Toolbar
Secara default Firefox akan menampilkan menu toolbar, navigation toolbar dan bookmarks toolbar. Anda bisa menyembunyikan bookmarks toolbar dan menu toolbar. Untuk menyembunyikan menu toolbar lihat pada point 3 dan 4 di bawah.
3. Personal Menu
Dengan firefox addons ini Anda dapat menyembunyikan menu toolbar atau pun mengatur menu apa saja yang akan ditampilkan .
4. Tiny Menu
Firefox addons TinyMenu ini fungsinya mirip seperti Personal Menu
5. Tab Kit
Firefox addons Tab Kit dapat digunakan untuk mengelompokkan tab yang sedang dibuka sekaligus mengubah posisi tab dari horizontal menjadi vertikal. Posisi tab secara vertikal akan lebih “ideal” kalau Anda menggunakan layar monitor jenis widescreen.
6. Hide GUI Bar
Setelah Anda menginstall addons ini Anda dapat menyembunyikan navigation toolbar, bookmarks toolbar dan statusbar dengan menekan tombol Ctrl + Shift + A. Tekan tombol yang sama untuk menampilkan kembali.
Sumber : http://www.klik-kanan.com/tips-memperluas-area-baca-pada-firefox.htm#more-1037
Kamis, 25 Februari 2010
Kecanduan Alkohol
tentang penyalahgunaan alkohol dan ketergantungan pada orang dewasa. Untuk informasi tentang masalah alkohol dalam teens atau anak-anak, lihat topik Teen Alcohol and Drug Abuse. Untuk informasi tentang penyalahgunaan narkoba di dewasa, lihat topik Penyalahgunaan Narkoba dan ketergantungan.
Penyalahgunaan alkohol berarti tidak sehat atau mempunyai kebiasaan minum yang berbahaya, seperti minum setiap hari atau minum terlalu banyak pada suatu waktu. Penyalahgunaan alkohol dapat membahayakan hubungan Anda, menyebabkan Anda kehilangan pekerjaan, dan mengakibatkan masalah hukum seperti saat mengemudi mabuk (teler). Bila Anda penyalahgunaan alkohol, Anda terus minum walaupun Anda tahu Anda minum menyebabkan masalah.
Jika Anda terus menerus penyalahgunaan alkohol, dapat mengakibatkan ketergantungan alkohol. Ketergantungan alkohol disebut juga alcoholism. Anda berada secara fisik atau mental ketagihan alkohol. Anda perlu memiliki yang kuat, atau perdambaan, minum. Anda merasa seperti Anda harus minum hanya untuk mendapatkan oleh.
Anda mungkin tergantung pada alkohol bila Anda mempunyai tiga atau lebih masalah berikut ini dalam satu tahun:
* Anda tidak dapat berhenti minum atau mengontrol berapa banyak yang Anda minum.
* Anda harus minum lebih banyak untuk mendapatkan efek yang sama.
* Anda memiliki gejala-gejala penarikan ketika anda berhenti minum. Ini termasuk rasa sakit pada perut, berkeringat, kegoyahan, dan kegelisahan.
* Anda menghabiskan banyak waktu dan memulihkan minum dari minum, atau ada kegiatan lain yang diberikan atas sehingga Anda dapat minum.
* Anda mencoba untuk berhenti minum atau mengurangi jumlah yang Anda minum tetapi belum mampu.
* Anda terus minum walaupun harms hubungan Anda dan menyebabkan anda untuk mengembangkan masalah fisik.
Alcoholism adalah jangka panjang (kronis) penyakit. It's not a kelemahan atau kurangnya ketekunan. Seperti banyak penyakit lainnya, ia memiliki program studi yang dapat diprediksi, telah diketahui gejala, dan dipengaruhi oleh gen dan keadaan hidup Anda.
Berapa banyak minum terlalu banyak?
Alkohol adalah bagian dari kehidupan banyak orang dan mungkin memiliki tempat dalam budaya dan tradisi keluarga. Kadang-kadang dapat menjadi keras untuk tahu kapan anda mulai minum terlalu banyak.
Anda beresiko minum terlalu banyak dan harus berbicara dengan dokter Anda jika Anda adalah: 1
* Seorang wanita yang memiliki lebih dari 3 minuman pada satu waktu atau lebih dari 7 minuman seminggu. J standar minum Klik di sini untuk melihat contoh. adalah 1 dapat bir, 1 gelas anggur atau minuman dicampur 1.
* Seorang pria yang memiliki lebih dari 4 minuman sekaligus atau lebih dari 14 minuman seminggu.
Jika Anda berpikir Anda mungkin memiliki masalah minum, mengambil kuis singkat untuk memeriksa gejala:
Alat Interaktif: Apakah Anda Punya Drinking Problem? Klik di sini untuk melihat sebuah alat interaktif.
Apa saja tanda-tanda penyalahgunaan alkohol atau ketergantungan?
Perilaku tertentu bisa berarti bahwa Anda mengalami masalah dengan alkohol. Ini termasuk:
• Minum di pagi hari, yang sering diminum dalam jangka waktu yang lama waktu tertentu, atau minum sendiri.
• Mengubah apa yang anda minum, seperti beralih dari bir ke anggur karena Anda akan membantu anda minum kurang dari atau membuat Anda mendapatkan mabuk.
• Merasa bersalah setelah minum.
• Membuat alasan untuk minum atau melakukan sesuatu untuk menyembunyikan Anda minum, seperti alkohol membeli di toko yang berbeda.
• Tidak mengingat apa yang anda lakukan ketika anda sedang berada minum (blackouts).
• Khawatir bahwa Anda tidak akan cukup untuk alkohol malam atau akhir pekan.
Bagaimana alkohol masalah ini didiagnosis?
Alkohol masalah dapat didiagnosis dengan rutin mengunjungi dokter bila Anda melihat atau dokter untuk masalah lain. Jika pasangan atau teman berpikir Anda memiliki masalah alkohol, ia Mei meminta Anda untuk melihat dokter.
Dokter akan bertanya tentang gejala dan kesehatan masa lalu, dan ia akan melakukan pemeriksaan fisik dan kesehatan mental yang kadang-kadang penilaian. Penilaian kesehatan jiwa yang memeriksa untuk melihat apakah Anda mungkin memiliki masalah kesehatan mental, seperti depresi.
Dokter Anda juga dapat mengajukan pertanyaan atau melakukan tes untuk mencari masalah-masalah kesehatan dihubungkan dengan alkohol, seperti sirosis.
Bagaimana mereka diperlakukan?
Perlakuan buruk tergantung pada bagaimana anda adalah masalah alkohol. Beberapa orang dapat memotong kembali ke tingkat yang sedang minum dengan bantuan dari seorang konselor. Orang-orang yang ketagihan alkohol mungkin perlu perawatan medis dan mungkin harus tinggal di sebuah rumah sakit atau pusat pengobatan.
Dokter Anda dapat memutuskan perlu detoxification, atau Detox, sebelum memulai perawatan. Detox flushes out the alkohol di tubuh Anda. Anda perlu Detox ketika Anda berada secara fisik ketagihan alkohol. Bila Anda melalui Detox, Anda mungkin perlu obat untuk membantu withdrawal symptoms.
Setelah Detox, Anda tetap fokus pada bebas alkohol, atau seadanya. Kebanyakan orang menerima beberapa jenis terapi, seperti konseling kelompok. Anda juga mungkin perlu obat-obatan untuk membantu anda tetap bijaksana.
Bila Anda bijaksana, Anda telah mengambil langkah pertama menuju pemulihan. Untuk mendapatkan pemulihan penuh, Anda perlu mengambil langkah-langkah untuk meningkatkan daerah lain hidup anda, seperti belajar untuk berurusan dengan pekerjaan dan keluarga. Hal ini mempermudah Anda untuk tetap bijaksana.
Anda mungkin akan membutuhkan dukungan untuk tetap siuman dan dalam pemulihan. Hal ini dapat meliputi konseling dan dukungan kelompok-kelompok seperti Alcoholics Anonymous. Pemulihan adalah sebuah proses jangka panjang, bukan sesuatu yang dapat dicapai dalam beberapa minggu.
Perlakuan tidak fokus pada penggunaan alkohol sendiri. It alamat lain di hidup anda, seperti anda hubungan, pekerjaan, masalah medis, dan situasi kehidupan. Pengobatan dan dukungan pemulihan Anda membuat perubahan positif sehingga Anda dapat hidup tanpa alkohol.
Apa yang dapat Anda lakukan jika Anda atau orang lain memiliki masalah dengan alkohol?
Jika Anda merasa Anda memiliki masalah alkohol, mendapatkan bantuan. Bahkan jika Anda berhasil di daerah lain hidup anda, kunjungi dokter atau pergi ke suatu kelompok swadaya. Anda yang sebelumnya mendapatkan bantuan, maka ia akan lebih mudah untuk mengurangi atau berhenti.
Membantu seseorang dengan masalah alkohol adalah keras. Jika anda untuk meliputi orang, Anda harus berhenti. Misalnya, jangan membuat alasan kepada orang ketika dia bekerja misses.
Anda mungkin dapat membantu oleh orang berbicara tentang apa-nya kepada anda tidak minum dan lain-lain. Berbicara kepada orang di swasta, ketika orang itu tidak menggunakan alkohol dan obat-obatan atau bila Anda baik tenang. Jika orang tersebut setuju untuk mendapatkan bantuan, panggilan untuk janji segera. Jangan menunggu.
Sumber : http://kesehatan.07x.net/index.php/kecanduan/65-kecanduan-alkohol.html
Penyalahgunaan alkohol berarti tidak sehat atau mempunyai kebiasaan minum yang berbahaya, seperti minum setiap hari atau minum terlalu banyak pada suatu waktu. Penyalahgunaan alkohol dapat membahayakan hubungan Anda, menyebabkan Anda kehilangan pekerjaan, dan mengakibatkan masalah hukum seperti saat mengemudi mabuk (teler). Bila Anda penyalahgunaan alkohol, Anda terus minum walaupun Anda tahu Anda minum menyebabkan masalah.
Jika Anda terus menerus penyalahgunaan alkohol, dapat mengakibatkan ketergantungan alkohol. Ketergantungan alkohol disebut juga alcoholism. Anda berada secara fisik atau mental ketagihan alkohol. Anda perlu memiliki yang kuat, atau perdambaan, minum. Anda merasa seperti Anda harus minum hanya untuk mendapatkan oleh.
Anda mungkin tergantung pada alkohol bila Anda mempunyai tiga atau lebih masalah berikut ini dalam satu tahun:
* Anda tidak dapat berhenti minum atau mengontrol berapa banyak yang Anda minum.
* Anda harus minum lebih banyak untuk mendapatkan efek yang sama.
* Anda memiliki gejala-gejala penarikan ketika anda berhenti minum. Ini termasuk rasa sakit pada perut, berkeringat, kegoyahan, dan kegelisahan.
* Anda menghabiskan banyak waktu dan memulihkan minum dari minum, atau ada kegiatan lain yang diberikan atas sehingga Anda dapat minum.
* Anda mencoba untuk berhenti minum atau mengurangi jumlah yang Anda minum tetapi belum mampu.
* Anda terus minum walaupun harms hubungan Anda dan menyebabkan anda untuk mengembangkan masalah fisik.
Alcoholism adalah jangka panjang (kronis) penyakit. It's not a kelemahan atau kurangnya ketekunan. Seperti banyak penyakit lainnya, ia memiliki program studi yang dapat diprediksi, telah diketahui gejala, dan dipengaruhi oleh gen dan keadaan hidup Anda.
Berapa banyak minum terlalu banyak?
Alkohol adalah bagian dari kehidupan banyak orang dan mungkin memiliki tempat dalam budaya dan tradisi keluarga. Kadang-kadang dapat menjadi keras untuk tahu kapan anda mulai minum terlalu banyak.
Anda beresiko minum terlalu banyak dan harus berbicara dengan dokter Anda jika Anda adalah: 1
* Seorang wanita yang memiliki lebih dari 3 minuman pada satu waktu atau lebih dari 7 minuman seminggu. J standar minum Klik di sini untuk melihat contoh. adalah 1 dapat bir, 1 gelas anggur atau minuman dicampur 1.
* Seorang pria yang memiliki lebih dari 4 minuman sekaligus atau lebih dari 14 minuman seminggu.
Jika Anda berpikir Anda mungkin memiliki masalah minum, mengambil kuis singkat untuk memeriksa gejala:
Alat Interaktif: Apakah Anda Punya Drinking Problem? Klik di sini untuk melihat sebuah alat interaktif.
Apa saja tanda-tanda penyalahgunaan alkohol atau ketergantungan?
Perilaku tertentu bisa berarti bahwa Anda mengalami masalah dengan alkohol. Ini termasuk:
• Minum di pagi hari, yang sering diminum dalam jangka waktu yang lama waktu tertentu, atau minum sendiri.
• Mengubah apa yang anda minum, seperti beralih dari bir ke anggur karena Anda akan membantu anda minum kurang dari atau membuat Anda mendapatkan mabuk.
• Merasa bersalah setelah minum.
• Membuat alasan untuk minum atau melakukan sesuatu untuk menyembunyikan Anda minum, seperti alkohol membeli di toko yang berbeda.
• Tidak mengingat apa yang anda lakukan ketika anda sedang berada minum (blackouts).
• Khawatir bahwa Anda tidak akan cukup untuk alkohol malam atau akhir pekan.
Bagaimana alkohol masalah ini didiagnosis?
Alkohol masalah dapat didiagnosis dengan rutin mengunjungi dokter bila Anda melihat atau dokter untuk masalah lain. Jika pasangan atau teman berpikir Anda memiliki masalah alkohol, ia Mei meminta Anda untuk melihat dokter.
Dokter akan bertanya tentang gejala dan kesehatan masa lalu, dan ia akan melakukan pemeriksaan fisik dan kesehatan mental yang kadang-kadang penilaian. Penilaian kesehatan jiwa yang memeriksa untuk melihat apakah Anda mungkin memiliki masalah kesehatan mental, seperti depresi.
Dokter Anda juga dapat mengajukan pertanyaan atau melakukan tes untuk mencari masalah-masalah kesehatan dihubungkan dengan alkohol, seperti sirosis.
Bagaimana mereka diperlakukan?
Perlakuan buruk tergantung pada bagaimana anda adalah masalah alkohol. Beberapa orang dapat memotong kembali ke tingkat yang sedang minum dengan bantuan dari seorang konselor. Orang-orang yang ketagihan alkohol mungkin perlu perawatan medis dan mungkin harus tinggal di sebuah rumah sakit atau pusat pengobatan.
Dokter Anda dapat memutuskan perlu detoxification, atau Detox, sebelum memulai perawatan. Detox flushes out the alkohol di tubuh Anda. Anda perlu Detox ketika Anda berada secara fisik ketagihan alkohol. Bila Anda melalui Detox, Anda mungkin perlu obat untuk membantu withdrawal symptoms.
Setelah Detox, Anda tetap fokus pada bebas alkohol, atau seadanya. Kebanyakan orang menerima beberapa jenis terapi, seperti konseling kelompok. Anda juga mungkin perlu obat-obatan untuk membantu anda tetap bijaksana.
Bila Anda bijaksana, Anda telah mengambil langkah pertama menuju pemulihan. Untuk mendapatkan pemulihan penuh, Anda perlu mengambil langkah-langkah untuk meningkatkan daerah lain hidup anda, seperti belajar untuk berurusan dengan pekerjaan dan keluarga. Hal ini mempermudah Anda untuk tetap bijaksana.
Anda mungkin akan membutuhkan dukungan untuk tetap siuman dan dalam pemulihan. Hal ini dapat meliputi konseling dan dukungan kelompok-kelompok seperti Alcoholics Anonymous. Pemulihan adalah sebuah proses jangka panjang, bukan sesuatu yang dapat dicapai dalam beberapa minggu.
Perlakuan tidak fokus pada penggunaan alkohol sendiri. It alamat lain di hidup anda, seperti anda hubungan, pekerjaan, masalah medis, dan situasi kehidupan. Pengobatan dan dukungan pemulihan Anda membuat perubahan positif sehingga Anda dapat hidup tanpa alkohol.
Apa yang dapat Anda lakukan jika Anda atau orang lain memiliki masalah dengan alkohol?
Jika Anda merasa Anda memiliki masalah alkohol, mendapatkan bantuan. Bahkan jika Anda berhasil di daerah lain hidup anda, kunjungi dokter atau pergi ke suatu kelompok swadaya. Anda yang sebelumnya mendapatkan bantuan, maka ia akan lebih mudah untuk mengurangi atau berhenti.
Membantu seseorang dengan masalah alkohol adalah keras. Jika anda untuk meliputi orang, Anda harus berhenti. Misalnya, jangan membuat alasan kepada orang ketika dia bekerja misses.
Anda mungkin dapat membantu oleh orang berbicara tentang apa-nya kepada anda tidak minum dan lain-lain. Berbicara kepada orang di swasta, ketika orang itu tidak menggunakan alkohol dan obat-obatan atau bila Anda baik tenang. Jika orang tersebut setuju untuk mendapatkan bantuan, panggilan untuk janji segera. Jangan menunggu.
Sumber : http://kesehatan.07x.net/index.php/kecanduan/65-kecanduan-alkohol.html
Bahasa Korea
Bahasa Korea (한국어/한국말) adalah bahasa yang paling luas digunakan di Korea, dan merupakan bahasa resmi Korea Selatan dan Korea Utara. Bahasa ini juga dituturkan secara luas di Yanbian di Cina timur laut. Secara keseluruhan terdapat sekitar 78 juta penutur bahasa Korea di seluruh dunia termasuk kelompok-kelompok besar di Uni Soviet, AS, Kanada dan Jepang. Klasifikasi resmi bahasa Korea masih belum disetujui secara universal, namun dianggap oleh banyak orang sebagai bahasa isolat. Beberapa ahli bahasa memasukkannya ke dalam kelompok bahasa Altaik. Bahasa Korea juga banyak mirip dengan bahasa Jepang yang status kekerabatannya juga kurang jelas.
Sistem penulisan bahasa Korea yang asli — disebut Hangul — merupakan sistem yang silabik dan fonetik. Aksara-aksara Sino-Korea (Hanja) juga digunakan untuk menulis bahasa Korea. Walaupun kata-kata yang paling umum digunakan merupakan Hangul, lebih dari 70% kosakata bahasa Korea terdiri dari kata-kata yang dibentuk dari Hanja atau diambil dari bahasa Mandarin.
Huruf ini dikenalkan oleh Raja Sejong pada abad ke-15, dikenal sebagai Hunmin Jeongeum. Namun istilah Hangul baru dikenal pada permulaan abad ke-20. Setelah Hangeul digunakan pun, Hanja masih tetap dipakai, sedang Hangeul dipakai oleh orang-orang tidak berpendidikan, wanita dan anak-anak.
Namun pada perkembangannya, Hangeul makin banyak digunakan bahkan pada abad ke-19 dan permulaan abad ke-20, penggunaan Hangeul dan Hanja seimbang. Namun kini, Hanja hanya dijumpai pada tulisan-tulisan akademik dan resmi, sedangkan hampir semua papan nama, jalan, petunjuk, bahkan tulisan-tulisan informal ditulis dalam Hangeul.
Bahasa Korea pada dasarnya memiliki dialek-dialek yang saling bertalian satu sama lain. Setiap wilayah dapat memahami dialek lainnya, kecuali dialek Pulau Jeju yang dianggap kurang bisa dimengerti dari dialek-dialek provinsi lainnya.
Sumber : http://id.wikipedia.org/wiki/Bahasa_Korea
Sistem penulisan bahasa Korea yang asli — disebut Hangul — merupakan sistem yang silabik dan fonetik. Aksara-aksara Sino-Korea (Hanja) juga digunakan untuk menulis bahasa Korea. Walaupun kata-kata yang paling umum digunakan merupakan Hangul, lebih dari 70% kosakata bahasa Korea terdiri dari kata-kata yang dibentuk dari Hanja atau diambil dari bahasa Mandarin.
Huruf ini dikenalkan oleh Raja Sejong pada abad ke-15, dikenal sebagai Hunmin Jeongeum. Namun istilah Hangul baru dikenal pada permulaan abad ke-20. Setelah Hangeul digunakan pun, Hanja masih tetap dipakai, sedang Hangeul dipakai oleh orang-orang tidak berpendidikan, wanita dan anak-anak.
Namun pada perkembangannya, Hangeul makin banyak digunakan bahkan pada abad ke-19 dan permulaan abad ke-20, penggunaan Hangeul dan Hanja seimbang. Namun kini, Hanja hanya dijumpai pada tulisan-tulisan akademik dan resmi, sedangkan hampir semua papan nama, jalan, petunjuk, bahkan tulisan-tulisan informal ditulis dalam Hangeul.
Bahasa Korea pada dasarnya memiliki dialek-dialek yang saling bertalian satu sama lain. Setiap wilayah dapat memahami dialek lainnya, kecuali dialek Pulau Jeju yang dianggap kurang bisa dimengerti dari dialek-dialek provinsi lainnya.
Sumber : http://id.wikipedia.org/wiki/Bahasa_Korea
Penyalahgunaan Alkohol dan Ketergantungan
Obat
Obat dapat digunakan untuk membantu mengobati ketergantungan alkohol dan penyalahgunaan. Beberapa obat-obatan mengurangi gejala penarikan selama detoxification. Obat-obatan lainnya membantu Anda tinggal seadanya panjang selama proses pemulihan.
Obat Choices
Obat-obatan lebih sering digunakan untuk mengobati gejala penarikan selama detoxification termasuk:
* Antianxiety obat-obatan (benzodiazepines seperti diazepam), yang merawat dengan gejala seperti igauan tremens (DTS).
* Penyitaan obat-obatan untuk mengurangi atau menghentikan parah gejala penarikan selama detoxification.
Obat-obatan yang digunakan untuk membantu Anda tetap bijaksana termasuk:
* Disulfiram (Antabuse), yang akan mengurangi kenikmatan menghasilkan alkohol dan membuat anda sakit perut anda ketika anda minum.
* Naltrexone (ReVia, Vivitrol), yang dengan senang interferes anda dapatkan dari minum. Vivitrol adalah sekali-a-bulan suntikan yang digunakan untuk mengobati ketergantungan alkohol.
* Acamprosate (Campral), yang dapat mengurangi perdambaan untuk alkohol.
* Topiramate (Topamax), obat-obatan yang digunakan untuk mengobati serangan. Salah satu studi baru-baru ini menunjukkan bahwa hal itu juga dapat membantu mengobati alkohol problems.6 Ahli adalah belajar bagaimana ini obat-obatan, dan obat-obatan seperti itu, mungkin dengan membantu pemulihan dari penyalahgunaan alkohol dan addiction.
Tentang apa yang harus dipikirkan
Penyalahgunaan alkohol bisa menyebabkan tubuh Anda menjadi rendah dalam beberapa vitamin dan mineral, terutama thiamine (vitamin B1). Anda mungkin perlu mempertimbangkan thiamine suplemen untuk meningkatkan gizi selama pemulihan. Thiamine membantu mencegah sindroma Wernicke-Korsakoff, yang menyebabkan otak damage.7
Sumber : http://kesehatan.07x.net/index.php/kecanduan/66-penyalahgunaan-alkohol-dan-ketergantungan.html
Obat dapat digunakan untuk membantu mengobati ketergantungan alkohol dan penyalahgunaan. Beberapa obat-obatan mengurangi gejala penarikan selama detoxification. Obat-obatan lainnya membantu Anda tinggal seadanya panjang selama proses pemulihan.
Obat Choices
Obat-obatan lebih sering digunakan untuk mengobati gejala penarikan selama detoxification termasuk:
* Antianxiety obat-obatan (benzodiazepines seperti diazepam), yang merawat dengan gejala seperti igauan tremens (DTS).
* Penyitaan obat-obatan untuk mengurangi atau menghentikan parah gejala penarikan selama detoxification.
Obat-obatan yang digunakan untuk membantu Anda tetap bijaksana termasuk:
* Disulfiram (Antabuse), yang akan mengurangi kenikmatan menghasilkan alkohol dan membuat anda sakit perut anda ketika anda minum.
* Naltrexone (ReVia, Vivitrol), yang dengan senang interferes anda dapatkan dari minum. Vivitrol adalah sekali-a-bulan suntikan yang digunakan untuk mengobati ketergantungan alkohol.
* Acamprosate (Campral), yang dapat mengurangi perdambaan untuk alkohol.
* Topiramate (Topamax), obat-obatan yang digunakan untuk mengobati serangan. Salah satu studi baru-baru ini menunjukkan bahwa hal itu juga dapat membantu mengobati alkohol problems.6 Ahli adalah belajar bagaimana ini obat-obatan, dan obat-obatan seperti itu, mungkin dengan membantu pemulihan dari penyalahgunaan alkohol dan addiction.
Tentang apa yang harus dipikirkan
Penyalahgunaan alkohol bisa menyebabkan tubuh Anda menjadi rendah dalam beberapa vitamin dan mineral, terutama thiamine (vitamin B1). Anda mungkin perlu mempertimbangkan thiamine suplemen untuk meningkatkan gizi selama pemulihan. Thiamine membantu mencegah sindroma Wernicke-Korsakoff, yang menyebabkan otak damage.7
Sumber : http://kesehatan.07x.net/index.php/kecanduan/66-penyalahgunaan-alkohol-dan-ketergantungan.html
Rabu, 24 Februari 2010
STACK atau TUMPUKAN
1. DEFINISI STACK
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.
2. 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).
3 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.
4 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.
5. 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
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.
2. 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).
3 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.
4 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.
5. 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
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
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
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)