Selasa, 16 Juni 2015

Sejarah Lego

Grup Lego bermula dari sebuah usaha kerajinan kayu milik Ole Kirk Chiristiansen, di kota Billund, Denmark. Pada tahun 1916, Christiansen membeli sebuah toko kerajinan kayu di Billund yang telah beroperasi semenjak tahun 1895[1]. Toko ini kebanyakan pekerjaannya adalah membantu pembangunan rumah dan pembuatan mebel kayu, serta memiliki beberapa orang pegawai. Toko ini terbakar pada tahun 1924, terjadi karena api yang dinyalakan oleh kedua putra Christiansen membakar beberapa hasil kerajinan kayu disana[2]. Ole Kirk kemudian membangun usaha kerajinan kayu yang lebih besar, dan berusaha memperluas bisnisnya lebih jauh lagi. Saat Depresi Besar terjadi, Ole Kirk tinggal memiliki sedikit pelanggam dan harus berkonsentrasi pada proyek-proyek yang kecil. Ia memulai memproduksi versi miniatur dari produk-produknya sebagai pembantu rancangan. Model-model miniatur tangga dan papan setrikaan inilah yang menginspirasinya untuk memulai memproduksi mainan[3].
(Catatan: Menurut seorang pegawai Lego di Denmark, langkah Ole Kirk untuk memproduksi mainan sebenarnya diilhami oleh pihak pemerintah dan bukannya dari diri sendiri. Berbagai buku dan artikel menolak cerita ini, menyatakan bahwa Ole Kirk sesungguhnya secara aktif memutuskan untuk melanjutkan bisnisnya di bidang pembuatan mainan. Namun, berbagai ingatan dan cerita pribadi dari orang-orang yang ada di sekitarnya saat itu menunjukkan bahwa ketika toko Ole Kirk bangkrut pada tahun 1932, adalah seorang pekerja sosial setempat yang menangani kasusnya menyarankan, atau malah mendorong, Ole Kirk untuk membuat mainan[4].)
Pada tahun 1932, toko Ole Kirk mulai membuat mainan kayu seperti celengan, kereta tarik, mobil-mobilan dan truk mainan. Bisnis ini mulanya tidak menguntungkan karena masih pada masa depresi. Para petani di wilayahnya terkadang menukarkan makanan dengan mainan buatannya; Ole Kirk tetap terus memproduksi mebel yang praktis selain mainan supaya usahanya tetap bisa bertahan. Di pertengahan dekade 1930an, ketenaran mainan Yo-yo memberikannya sebuah masa singkat dari peningkatan aktivitas bisnis hingga tiba-tiba kondisi ini menghilang. Untuk mengurangi sampah, Ole Kirk menggunakan sisa-sisa bagian yo-yo sebagai roda mainan truk[5]. Putranya, Godtfred, mulai bekerja untuknya, memegang peran yang aktif di dalam perusahaan.[5].
Pada tahun 1934, Ole Kirk mengadakan kompetisi di anatara para pegawainya untuk memberikan nama baru pada perusahaannya, hadiahnya adalah sebotol anggur buatannya sendiri[6]. Christiansen sedang mempertimbangkan sendiri dua nama untuk perusahaannya tersebut, "Legio" (untuk merujuk pada kalimat "Legiun Mainan") dan "Lego", singkatan yang dibuatnya sendiri dari kalimat Bahasa Denmark leg godt, yang berarti "bermain dengan baik." Belakangan Grup Lego menemukan bahwa kata "Lego" bisa secara bebas diartikan "Saya menyusun" atau "Saya merangkai" dalam Bahasa Latin.[7] Ole Kirk memilih nama yang dipertimbangkannya sendiri, Lego, dan perusahaannya mulai menggunakan nama itu dalam produk-produk mereka.
Setelah Perang Dunia II, plastik hadir di Denmark, dan Lego membeli satu set mesin cetak injeksi plastik pada tahun 1947.[8]. Salah satu mainan modular yang diproduksi pertama kali adalah sebuah mainan truk yang dapat dibongkar dan dipasang kembali. Pada tahun 1947, Ole Kirk dan Godtfred memperoleh contoh barang bata plastik yang bisa saling melekat satu dengan yang lain (interlocking) yang diproduksi oleh perusahaan Kiddicraft. Produk "Kiddicraft Self-Locking Building Bricks" ini dirancang dan dipatenkan di Inggris oleh Mr. Hilary Harry Fisher Page, seorang warga negara Inggris.[9] Pada tahun 1949 Grup Lego mulai memproduksi bata yang sama, menamainya "Automatic Binding Bricks" (Bata Yang Melekat Secara Otomatis). Bata Lego, yang kemudian diproduksi dari material cellulose acetate, dikembangkan menurut dasar-dasar bongkahan kayu tradisional yang bisa disusun di atas satu dengan yang lain namun bisa "direkatkan" bersama. Produk ini memeiliki beberapa tonjolan bundar di atasnya dan bagian bawah yang berbentuk segiempat yang berlubang. Bata-bata ini akan melekat satu dengan yang lain, tapi tidak terlalu erat sehingga mereka tidak bisa dipisahkan lagi. Pada tahun 1953 bata-bata ini diberi nama baru: Lego Mursten, atau "Bata Lego".
Produk-produk plastik awalnya tidak diterima dengan baik oleh para pembeli, yang memilih mainan kayu atau logam. Banyak pengiriman Lego yang dikembalikan akibat penjualan yang buruk. Pada tahun 1954, Godtfred menjadi Direktur Pelaksana Junior di Grup Lego. Pembicaraan Godtfred dengan seorang pembeli luar negeri melahirkan ide tentang suatu "sistem" mainan, dengan banyak mainan dalam suatu lini produksi. Godtfred mengevaluasi semua produk yang tersedia, dan melihat bahwa bata plastik adalah yang paling cocok untuk "sistem" tersebut. Pada tahun 1955, Lego meluncurkan "Town Plan" (Rencana Tata Kota), sebagaimana hal tersebut adalah suatu sistem, yang menggunakan bata untuk membangunnya.
Bata bangunan ini diterima cukup baik oleh pasar, namun memiliki beberapa permasalahan dari sisi teknis: kemampuan untuk "melekat"-nya sangat terbatas, dan bata-bata ini tidak terlalu serba-guna. Pada tahun 1958 bata-bata ini disempurnakan dengan silinder-silinder berlubang di bawahnya. Hal ini menambah kekuatan di bagian bawahnya, meningkatkan kemampuan untuk melekat dan kegunaannya. Perusahaan ini mematenkan rancangan produk yang baru ini, selain beberapa rancangan yang mirip lainnya, untuk menghindarkan diri dari saingan bisnis. Pada tahun yang sama, Ole Kirk Christiansen meninggal dunia, dan Godtfred mewarisi kursi pimpinan perusahaan ini.

Beralih ke Bata Plastik

Kebakaran gudang menyerang kembali Grup Lego pada tahun 1960, menghabiskan sebagian besar persediaan mainan kayu perusahaan ini. Godtfred memutuskan bahwa lini produksi bata plastik sudah cukup kuat keberadaanya sehingga perusahaan mampun untuk meninggalkan lini produksi mainan kayu. Alhasil, saudara-saudara Godtfred, Gerhardt (sebelumnya kepala bagian mainan kayu) dan Karl Georg meninggalan perusahaan Lego dan memulai sebuah perusahaan terpisah "Bilofix". Sampai akhir tahun tersebut, jumlah pegawai Grup Lego telah mencapai lebih dari 450 orang.
Pada tahun 1961, Lego berhatap untuk bisa melebarkan penjualan ke Amerika Utara, namun tidak memiliki kemampuan logistik yang memadai untuk melakukannya. Lego kemudian mengambil jalan untuk memperbolehkan Samsonite untuk memproduksi dan menjual produk-produk Lego di Amerika Serikat dan Kanada.
Tahun 1961 dan 1962 menyaksikan diperkenalkannya roda Lego pertama, sebuah tambahan yang mengembangkan potensi untuk membangun mobil-mobilan, mainan truk, bus dan kendaraan-kendaraan lainnya dari bata Lego. Juga selama masa ini, Grup Lego memperkenalkan mainan yang secara khusus ditujukan bagi pasar anak-anak pra-sekolah.
Pada tahun 1963, material yang digunakan untuk membuat bata Lego, cellulose acetate (CA), ditinggalkan dan beralih pada acrylonitrile butadine styrene (plastik ABS) yang lebih stabil sifatnya, yang masih digunakan hingga hari ini. ABS itu tidak mengandung racun, tidak mudah memudar warnanya dan tidak mudah bengkok, serta juga lebih tahan panas, asam, garam dan zat kimia lainnya daripada cellulose acetate. Samsonite yang memproduksinya di Amerika Utara tidak beralih seketika itu, dan masih menggunakan cellulose acetate di beberapa aspek produk Lego.
Tahun 1964 adalah saat pertama buku petunjuk disertakan di dalam paket mainan Lego.
Salah satu seri mainan Grup Lego yang paling sukses, Sistem Kereta Api LEGO, pertama kali diluncurkan tahun 1966. Satu set mainan kereta api ini menyertakan motor 4,5 Volt, kotak baterai dan rel kereta; dua tahun kemudian motor 12 Volt diperkenalkan.
Pada tanggal 7 Juni 1968, Taman Legoland pertama dibuka di Billund. Taman rekreasi ini menampilkan model rumit kota-kota miniatur yang seluruhnya dibangun dengan bata Lego. Taman seluas 12.000 meter persegi ini dikunjungi 625.000 pengunjung pada tahun pertamanya sendiri. Selama 20 tahun berikutnya, taman ini bertambah luas delapan kali dari luas awalnya, dan nantinya rata-rata dikunjungi sekitar satu juta pengunjung yang membeli tiket tiap tahunnya. Lebih dari delapan belas juta set mainan Lego telah terjual pada tahun 1968.
Pada tahun 1969, sistem Duplo mulai dipasarkan. Produk ini adalah sebuah sistem yang baru dikembangkan, yang ditujukan bagi anak-anak usia balita; bata Duplo ukurannya lebih besar daripada bata Lego, sehingga membuatnya lebih aman untuk anak-anak yang masih sangat muda usianya; walau demikian kedua sistem ini bisa saling digunakan bersamaan: bata Lego bisa dipasang dengan pas di atas bata Duplo, sehingga membuat perpindahan set mainan ke sistem Lego lebih mudah saat anak-anak tersebut mulai tumbuh lebih besar. Nama Duplo berasal dari kata Bahasa Latin duplus, yang secara harafiah diterjemahkan sebagai "ganda"; artinya bahwa sepotong bata Duplo ukurannya tepat dua kali lebih besar dari pada ukuran bata Lego (2 x tinggi kali 2 x lebar kali 2 x panjang = 8 x volume bata).
Era 1960an merupakan masa pertumbuhan yang cepat bagi Grup Lego sehingga pada tahun 1970 salah satu permasalahan terbesar yang mesti mereka hadapi adalah bagaimana cara terbaik untuk mengelola dan mengontrol pasar mereka yang terus berkembang.

Perluasan Usaha

Dekade-dekade berikutnya ditandai dengan ekspansi besar-besaran dalam era baru pembuatan dan pemasaran mainan, Lego mulai menargetkan wanita dengan memperkenalkan beberapa tipe mebel dan rumah boneka pada tahun 1971. Dunia Lego memperluas dunia permainan transportasinya dengan penambahan set mainan perahu dan kapal, dilengkapi dengan lambung kapal yang benar-benar bisa mengapung, pada tahun 1972.
Dalam periode yang sama, putra Godtfred Kirk Christiansen, Kjeld Kirk Kristiansen, bergabung dalam staf manajemen perusahaan, setelah memperoleh gelar sarjana bisnis di Swiss dan Denmark. Salah satu keberhasilan pertama Kjeld dalam perusahaan adalah pembangunan fasilitas pabrik yang modern, termasuk juga pendirian departemen riset dan pengembangan yang bertanggung-jawab untuk memastikan metode pembuatan Lego tetap yang paling modern. Figur manusia dengan tangan yang bisa diubah-ubah posisinya muncul pada tahun 1974 dalam set mainan "Lego Family", yang menjadi produk yang paling banyak terjual saat itu; pada tahun yang sama, sebuah versi awal dari "figur mini" manusia miniatur Lego diperkenalkan, namun figur miniatur ini tanpa tangan yang bisa diubah-ubah posisinya dan wajahnya tidak dilukiskan di bagian kepalanya. Sebuah pabrik Lego dibuka di Enfield, Connecticut, Amerika Serikat.
Set mainan "Expert Series" pertama kali diperkenalkan pada tahun 1975, ditujukan pada para pengguna Lego yang usianya lebih tua dan lebih berpengalaman. Lini produksi ini tak lama kemudian berkembang menjadi set mainan "Expert Builder", diluncurkan pada tahun 1977. Set mainan teknis ini memiliki berbagai komponen bergerak seperti gigi mekanis, mekanik differensial, roda, tuas, poros dan sendi universal, sehingga memungkinkan untuk membuat model-model mainan seperti mobil secara realistis, dengan kemudi fungsional yang menggunakan sistem roda bergerigi dan pergerakan mesin yang seperti mesin asli. Akhirnya, dunia Lego menjadi lengkap pada tahun 1978 dengan kehadiran "minifigur" Lego. Orang-orangan Lego kecil ini memiliki lengan dan kaki yang bisa diatur sesuka hati, dan disertai dengan senyuman yang ramah. Figur ini digunakan di berbagai set mainan Lego, memungkinkan para penggunanya untuk membangun kota-kota miniatur yang rumit, lengkap dengan bangunan, jalan, kendaraan, kereta api, dan kapal, semua dalam skala yang sama, dan "ditinggali" oleh para warga minifigur Lego yang selalu tersenyum.
Ekspansi penting lainnya dalam lini produksi Lego terjadi pada tahun 1979 dengan diciptakannya set mainan Lego Space. Minifigur astronot, roket, penjelajah bulan dan pesawat antariksa melengkapi set mainan yang sukses ini. Set mainan Scala juga muncul pada tahun ini, menampilkan elemen-elemen perhiasan yang ditujukan bagi pasar anak-anak perempuan. Kjeld Kirk Kristiansen menjadi presiden Lego pada tahun ini; dekade 70-an ini ditutup dengan penjualan mainan Lego yang masih kuat.
Bata Lego selalu memiliki kemampuan pengembangan diri yang dianggap oleh beberapa pengajar sebagai suatu aset yang sangat berharga dalam membantu anak-anak mengembangkan kreativitas dan kemampuan memecahkan masalah. Semenjak dekade 1960an, para pengajar telah menggunakan bata Lego di dalam ruang kelas mereka untuk berbagai hal. Pada tahun 1980, Grup Lego mendirikan Departemen Produk Pendidikan (nantinya dinamai menjadi "Lego Dacta" pada tahun 1989), yang khusus berfungsi untuk mengembangkan potensi unsur pendidikan di dalam mainan yang mereka buat. Pabrik perakitan dan pengepakan Lego dibuka di Swiss, disusul dengan dibukannya pabrik lainnya di kota Jutland, Denmark, yang memproduksi ban-ban Lego.
Generasi kedua mainan kereta api Lego muncul pada tahun 1981. Sebagaimana versi sebelumnya, mainan ini dilengkapi dengan 4.5 V (battery powered) atau 12 V (mains powered), namun disertai dengan lebih banyak aksesoris, termasuk diantaranya lampu-lampu yang bisa menyala, sinyal dan posisi bisa dikontrol dari jarak jauh, dan sistem persimpangan kereta.
Model miniatur kota London dari Lego, yang juga memiliki model kereta api bawah tanah London yang bermotor yang dikontrol komputer, bisa dilihat di Legoland Windsor.
Di bulan Agustus 1988, 38 anak-anak dari 17 negara ikut serta dalam Kejuaraan Dunia Lego kontes membangun bangunan, yang diadakan di Billund. Pada tahun yang sama, Lego Canada didirikan. Lini Lego tumbuh lagi pada tahun 1989 dengan dikeluarkannya seri Lego Pirates (bajak laut), yang menampilkan berbagai kapal bajak laut, pulau pasir dan harta karun; seri ini juga seri mainan Lego pertama yang tidak menggunakan minifigur dengan wajah tersenyum dan menciptakan sejumlah karakter-karakter bajak laut. Departemen Produk Pendidikan Grup Lego diubah namanya menjadi Lego Dakta pada tahun ini; nama ini diambil dari kata Bahasa Yunani "didactic", yang secara kasar berarti "pembelajaran tentang proses belajar." Dr. Seymour Papert dari Laboratorium Pembelajaran Komputer MIT, digelari "Profesor Penelitian Pembelajaran Lego" atas kerja kerasnya untuk menghubungkan bahasa program Logo dengan produk Lego.
Seri mainan baru yang dirancang untuk pembangun Lego yang lebih berpengalaman dikeluarkan pada tahun 1990. Tiga set Model Team, termasuk sebuah mobil balap dan sebuah kendaraan off-road, menampilkan tingkatan detil dan tampak-nyata yang sebelumnya tidak terlihat di seri mainan Lego manapun. Kalau seri Technic secara mekanis adalah akurat, Model Team secara penampilan dan gaya sangatlah akurat. Grup Lego menjadi salah satu dari sepuluh perusahaan mainan terbesar di dunia tahun ini, menjadi satu-satunya perusahaan mainan dari Eropa yang berada di jajaran Top-10 tersebut. Legoland Billund, pertama kali dalam sejarahnya, dikunjungi lebih dari satu juta pengunjung pada tahun yang sama.
sumber: https://id.wikipedia.org/wiki/Sejarah_Lego

Kota Tua Jakarta


Kota Tua Jakarta, juga dikenal dengan sebutan Batavia Lama (Oud Batavia), adalah sebuah wilayah kecil di Jakarta, Indonesia. Wilayah khusus ini memiliki luas 1,3 kilometer persegi melintasi Jakarta Utara dan Jakarta Barat (Pinangsia, Taman Sari dan Roa Malaka).
Dijuluki "Permata Asia" dan "Ratu dari Timur" pada abad ke-16 oleh pelayar Eropa, Jakarta Lama dianggap sebagai pusat perdagangan untuk benua Asia karena lokasinya yang strategis dan sumber daya melimpah.

Sejarah

Peta Batavia dengan bentengnya (Kasteel) pada tahun 1667
Peta Batavia tahun 1740. Wilayah Batavia di dalam dinding kota serta paritnya dan Pelabuhan Sunda Kelapa di kiri (utara) peta membentuk Kota Tua Jakarta.
Tahun 1526, Fatahillah, dikirim oleh Kesultanan Demak, menyerang pelabuhan Sunda Kelapa di kerajaan Hindu Pajajaran, kemudian dinamai Jayakarta. Kota ini hanya seluas 15 hektare dan memiliki tata kota pelabuhan tradisional Jawa. Tahun 1619, VOC menghancurkan Jayakarta di bawah komando Jan Pieterszoon Coen. Satu tahun kemudian, VOC membangun kota baru bernama Batavia untuk menghormati Batavieren, leluhur bangsa Belanda. Kota ini terpusat di sekitar tepi timur Sungai Ciliwung, saat ini Lapangan Fatahillah.
Penduduk Batavia disebut "Batavianen", kemudian dikenal sebagai suku "Betawi", terdiri dari etnis kreol yang merupakan keturunan dari berbagai etnis yang menghuni Batavia.
Tahun 1635, kota ini meluas hingga tepi barat Sungai Ciliwung, di reruntuhan bekas Jayakarta. Kota ini dirancang dengan gaya Belanda Eropa lengkap dengan benteng (Kasteel Batavia), dinding kota, dan kanal. Kota ini diatur dalam beberapa blok yang dipisahkan oleh kanal [1]. Kota Batavia selesai dibangun tahun 1650. Batavia kemudian menjadi kantor pusat VOC di Hindia Timur. Kanal-kanal diisi karena munculnya wabah tropis di dalam dinding kota karena sanitasi buruk. Kota ini mulai meluas ke selatan setelah epidemi tahun 1835 dan 1870 mendorong banyak orang keluar dari kota sempit itu menuju wilayah Weltevreden (sekarang daerah di sekitar Lapangan Merdeka). Batavia kemudian menjadi pusat administratif Hindia Timur Belanda. Tahun 1942, selama pendudukan Jepang, Batavia berganti nama menjadi Jakarta dan masih berperan sebagai ibu kota Indonesia sampai sekarang.
Tahun 1972, Gubernur Jakarta, Ali Sadikin, mengeluarkan dekrit yang resmi menjadikan Kota Tua sebagai situs warisan. Keputusan gubernur ini ditujukan untuk melindungi sejarah arsitektur kota — atau setidaknya bangunan yang masih tersisa di sana.
Meski dekrit Gubernur dikeluarkan, Kota Tua tetap terabaikan. Banyak warga yang menyambut hangat dekrit ini, tetapi tidak banyak yang dilakukan untuk melindungi warisan era kolonial Belanda.

Tempat yang sudah dihancurkan

Dalam pengembangan daerah Jakarta, beberapa bangunan atau tempat yang berada di daerah kota Tua Jakarta dihancurkan dengan alasan tertentu. Beberapa tempat tersebut adalah:
  • Benteng Batavia dihancurkan antara 1890–1910, beberapa material digunakan untuk pembangunan Istana Daendels (sekarang Departemen Keuangan Nasional)
  • Gerbang Amsterdam (lokasinya berada dipertigaan Jalan Cengkeh, Jalan Tongkol dan Jalan Nelayan Timur. Dihancurkan untuk memperlebar akses jalan) dihancurkan pada tahun 1950an untuk penglebaran jalan.
  • Jalur Trem Batavia (Jalur ini pernah ada di kota Batavia, tetapi sekarang sudah ditimbun dengan aspal. Karena Presiden Soekarno menganggap Trem Batavia yang membuat macet)
Beberapa bangunan berada dalam kondisi mengenaskan kebanyakan akibat kepemilikan bangunan yang tidak jelas.

Tempat menarik dan bersejarah

Kantor Pos di Kota Tua
Gedung Dasaad Musin pada tahun 2010
Sebagai permukiman penting, pusat kota, dan pusat perdagangan di Asia sejak abad ke-16, Oud Batavia merupakan rumah bagi beberapa situs dan bangunan bersejarah di Jakarta:[1]
Saat ini, banyak bangunan dan arsitektur bersejarah yang memburuk kondisinya seperti: Museum Sejarah Jakarta (bekas Balai Kota Batavia, kantor dan kediaman Gubernur Jenderal VOC), Museum Bahari, Pelabuhan Sunda Kelapa, dan Museum Bank Indonesia.
Tetapi, masih ada usaha perbaikan Kota Tua, khususnya dari berbagai organisasi nirlaba, institusi swasta, dan pemerintah kota yang telah bekerjasama untuk mengembalikan warisan Kota Tua Jakarta. Tahun 2007, beberapa jalan di sekitar Lapangan Fatahillah seperti Jalan Pintu Besar dan Jalan Pos Kota, ditutup sebagai tahap pertama perbaikan.
 sumber: https://id.wikipedia.org/wiki/Kota_Tua_Jakarta

Parfum

Sejarah Parfum

Parfum sudah dikenal sejak ribuan tahun yang lalu - kata "parfum" berasal dari bahasa Latin per fume artinya "melalui asap". Salah satu kegunaan parfum tertua berupa bentuk pembakaran dupa dan herbal aromatik yang digunakan dalam pelayanan keagamaan, seringkali untuk aromatik gums, kemenyan dan mur, dikumpulkan dari pohon. Mesir adalah yang pertama memasukkan parfum ke budaya mereka diikuti oleh Cina kuno, Hindu, Israel, Carthaginians, Arab, Yunani, dan Romawi. Penggunaan awal dari botol parfum adalah di Mesir sekitar 1000 SM. Mesir menemukan gelas dan botol parfum adalah salah satu penggunaan umum pertama untuk kaca.

Tingkat Konsentrat

Kemasan botol Eau de Cologne asli flacon 1811, dari Johann Maria Farina, Farina gegenüber
Minyak parfum perlu diencerkan dengan pelarut karena minyak esensial/murni (baik yang alami ataupun sintetis) mengandung konsentrat tinggi dari komponen volatil yang mungkin akan mengakibatkan reaksi alergi dan kemungkinan cedera ketika digunakan langsung ke kulit atau pakaian. Pelarut juga menguapkan minyak esensial, membantu mereka menyebar ke udara.
Sejauh ini pelarut yang paling umum digunakan untuk pengenceran minyak parfum adalah etanol atau campuran etanol dan air. Minyak parfum juga dapat diencerkan dengan cara menetralkan bau lemak menggunakan jojoba, minyak kelapa difraksinasi atau lilin. Persentase volume konsentrat dalam minyak parfum adalah sebagai berikut:
Semakin tinggi jumlah persentase senyawa aromatik, maka intensitas dan aroma yang tahan lama tercipta. Perfumeries yang berbeda menetapkan jumlah yang berbeda dari minyak untuk masing-masing parfum mereka. Oleh karena itu, meskipun konsentrat minyak parfum dalam pengenceran Eau De Parfum (EDP) selalu akan lebih tinggi daripada parfum yang sama dalam bentuk eau de toilette (EDT) di dalam kisaran yang sama, jumlah yang sebenarnya dapat bervariasi antara masing-masing Perfumeries. Sebuah parfum EDT dari sebuah Perfumeries mungkin lebih kuat daripada EDP dari Perfumeries yang lain.

sumber: https://id.wikipedia.org/wiki/Parfum

PL/SQL adalah...

PENDAHULUAN
PL/SQL (Procedural Language/Structured Query Language) merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax.
PL/SQL adalah fasilitas yang disediakan Oracle sehingga pengguna dapat memanfaatkan konsep pemrograman. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang ada dalam database Oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data.

Beberapa kelebihan PL/SQL dalam database Oracle :
·         PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses didalam server.
·         Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
·         PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan
program aplikasi.


STRUKTUR PL/SQL

Struktur PL/SQL mirip dengan struktur bahasa pascal atau delphi yang menggunakan struktur blok, sehingga akan mempermudah pengertian dalam pemrograman dengan PL/SQL. Struktur Blok berisi perintah SQL dengan kondisi yang berbeda. Perintah PL/SQL dapat menangani kesalahan saat dijalankan. Setiap pengetikan dengan menggunakan PL/SQL dalam SQL*Plus selalu diakhiri dengan tanda /(slash). Sintaks penggunaan PL/SQL adalah sebagai berikut :

Declare
   Begin
      Exception
End
Struktur diatas dapat dijelaskan sebagai berikut :

1. Bagian Judul (Header)
Bagian ini hanya digunakan jika PL/SQL diberikan nama,misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok,daftar parameter, dan pengembalian hasil (return) jika blok adalahfungsi.
2. Bagian Deklarasi (declaration)
Bagian ini untuk membuat deklarasi mengenai semua variable dan konstanta yang direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan, bersifat optional.
3. Bagian Eksekusi (Execution).
Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.
4. Bagian Perkecualian (Exception)
Bagian ini memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL, bersifat optional. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik koma(;) dan semua program PL/SQL harus diakhiri dengan perintah END.

Bentuk Umum Struktur PL/SQL

DECLARE
            variabel tipe_data;
            konstanta CONSTANT tipe_data := nilai;
            ...
BEGIN
            statement_1;
            statement_2;
            ...
EXCEPTION
            WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;
            ...
END;

Contoh Program (tanpa exception)

SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1  NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;
/
Contoh Program (dengan exception)
SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := ‘Belajar Oracle’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai’);
END;
/

DBMS_OUTPUT merupakan paket yang disediakan oleh Oracle PL / SQL dan PUT_LINE merupakan salah satu prosedur yang dikemas. Menampilkan nilai-nilai pada SQL Plus * terminal yang harus diaktifkan dengan SERVEROUTPUT SET ON terlebih dahulu. Untuk menjalankan kode sampel ini, login ke SQL * Plus. PL / SQL blok diakhiri dengan tanda garis miring / atau garis byitself.


TIPE DATA

Tipe Data dasar :
·         Numerik
Ø  NUMBER, BINARY_INTEGER, DEC, DOUBLE PRECISION, INTEGER, INT, NUMERIC, REAL, SMALLINT
·         Karakter
Ø  VARCHAR2, CHAR, LONG
·         DATE
·         BOOLEAN
·         ROWID

Tipe Data tambahan :
·         RECORD
·         ARRAY

Type data yang dapat dikenali dalam PL/SQL dapat berupa type data SQL dan type data seperti :

1.      BOOLEAN
Dipakai untuk menyatakan data logika, yaitu TRUE(benar), FALSE(salah), dan NULL(kosong).
2.      BINARY_INTEGER
Digunakan untuk mendeklarasikan bilangan yang tidak mempunyai angka desimal. Tipe dataNATURAL dan POSITIVE merupakan subset dariBINARY_INTEGER.
3.      %TYPE
Tipe data ini dipakai untuk menandakan bahwa variabelyang deklarasikan sama dengan tipe data dari kolom tabel tertentu.
4.      %ROWTYPE
Tipe data ini menandakan bahwa sekelompok variabel adalah sama dengan tipe data darirow suatu tabel tertentu.
5.      Tabel dan Record
Tipe data komposit untuk pemakaian yang lebih kompleks.


VARIABEL DAN KONSTANTA

Pada bagian deklarasi ditempatkan variable dan konstanta yang dipakai oleh pernyataan PL/SQL yang dibuat.

ü  VARIABEL
Adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori komputer.

Bentuk Umum :

variable_name datatype [NOT NULL := value ];

Keterangan :

·      Variable_name adalah nama variabel.
·      Datatype adalah valid PL / SQL datatype.
·      NOT NULL adalah sebuah spesifikasi opsional pada variabel.
·      Nilai atau DEFAULT juga merupakan spesifikasi opsional, di mana anda bisa menginisialisasi variabel.
·      Setiap deklarasi variabel adalah pernyataan terpisah dan harus diakhiri dengan titik koma.
Contoh Deklarasi Variabel :
DECLARE
      X integer;
      Alamat varchar2(40);
      No_induk char(8);
.....
BEGIN
      X                      := 12;
      Alamat            := ‘Gelatik Dalam 391, Bandung’;
      No_induk         := ‘DOG29549’;
END;

Contoh Lain

DECLARE
TYPE v_arr IS VARRAY(25) of NUMBER(3);
v1 v_arr;
v_empno employee.empno%TYPE;
BEGIN
v1(2) := 3;
DBMS_OUTPUT.PUT_LINE ('Nilai v1 (2) =' | | v1 (2));
v_empno := 4;
END;

v  Ketika variabel ditetapkan sebagai TIDAK NULL, Anda harus menginisialisasi variable ketika dideklarasikan.

Contoh di bawah ini menyatakan dua variabel, salah satunya adalah tidak null.

 DECLARE
 salary number(4);
 dept varchar2(10) NOT NULL := “HR Dept”;
Nilai variabel yang bisa berubah dalam pelaksanaan atau pengecualian bagian PL / SQL Block. Kita dapat menempatkan nilai ke variabel dalam dua cara yang diberikan di bawah ini.
  1. Kita dapat langsung memberikan nilai pada variabel.

Sintaks Umum adalah:

variable_name:=  value;

  1. Kita dapat menempatkan nilai ke variabel langsung dari kolom database dengan menggunakan SELECT… INTO statement. INTO pernyataan.

Sintaks Umum adalah:

SELECT column_name
 INTO variable_name
  FROM table_name
  [WHERE condition];

Contoh Program
Program ini di bawah ini akan mendapatkan gaji seorang karyawan dengan id '1116 'dan menampilkannya pada layar.
DECLARE
         var_salary number(6);
         var_emp_id number(6) = 1116;
         BEGIN
         SELECT salary
         INTO var_salary
         FROM employee
         WHERE emp_id = var_emp_id;;
         dbms_output.put_line(var_salary);
         dbms_output.put_line('The employee ' dbms_output.put_line ('Insan'
         || var_emp_id || ' has  salary  ' || var_salary);
END;
 /

ü  KONSTANTA
Digunakan untuk menyimpan sebuah nilai di memori komputer. Nilai yang disimpan bersifat tetap (konstan)

Contoh Deklarasi Konstanta :

DECLARE
pi CONSTANT real             := 3.14;
lebar CONSTANT integer        := 100;

Perbedaan variabel dengan konstanta adalah :

·         Konstanta
Nilai ditentukan pada saat deklarasi dibuat sehingga nilainya tetap pada saat program dieksekusikan.

·         Variabel
Dapat menerima nilai baru atau sebaliknya diubah pada saat program dieksekusi.
 
sumber :http://apriliawakhyuni.blogspot.com/2010/05/pengenalan-plsql.html


Senin, 15 Juni 2015

Membuat Login di Yii Framework

Membuat Login di Yii Framework - Sebelumnya kita sudah pernah membuat simple login yang user dan passwordnya kita letakan di dalam script pada kali ini kita akan membuat login yang user dan passnya kita letakan dalam database dan passnya kita enkripsi menggunakan MD5 sehingga lebih terjamin keamanannya
Untuk lebih jelasnya kita langsung saja ke dalam prakteknya Membuat Login di Yii Framework, ikutilah langkah - langkah berikut :

1. Tabel

Buatlah sebuah tabel baru di dalam database anda dengan nama users, dengan struktur tabel seperti berikut :
NameTypeSizeExtraPrimary
idINT100auto_incrementyes
usernameVARCHAR100

passwordVARCHAR100

levelINT11

Kemudian isikan tabel tersebut dengan tiga buah data, anda dapat menambahkan datanya melalui phpMyAdmin, pilih database lalu klik tab SQL, lalu masukan perintah berikut :

INSERT INTO users (username , password, level) VALUES ('jin',md5('jin'),1);
INSERT INTO users (username , password, level) VALUES ('rias',md5('gremory'),2);
INSERT INTO users (username , password, level) VALUES ('shina',md5('mashiro'),2);
Sekarang anda klik tombol "Go" maka akan memasukan ketiga data user dan password tersebut ke dalam database :

md5 enkripsi password

2. Model

Buatlah sebuah model baru dengan menggunakan Gii Code Generator dengan nama User dan dengan nama tabel users:

gii code generator model user
Sekarang buka model User.php yang sudah berhasil di generate yang terdapat dalam direktori Protected\models kemudian tambahkan script berikut :

//digunakan untuk memproses data setelah di validasi
protected function afterValidate() {
     parent::afterValidate();
            
     //melakukan enkripsi pada passwod yang di input
     $this->password = $this->encrypt($this->password);
}
        
//membuat sebuah fungsi untuk mengenkripsi data
public function encrypt($value){
     return md5($value);
}
Maka sekarang script user anda selengkapnya adalah :
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
 
/**
 * This is the model class for table "users".
 *
 * The followings are the available columns in table 'users':
 * @property integer $id
 * @property string $username
 * @property string $password
 * @property integer $level
 */
class User extends CActiveRecord
{
 /**
  * @return string the associated database table name
  */
         
        //digunakan untuk memproses data setelah validasi
        protected function afterValidate() {
            parent::afterValidate();
             
            //melakukan enkripsi pada data yang di input
            $this->password = $this->encrypt($this->password);
        }
         
        //membuat sebuah fungsi enkripsi
        public function encrypt($value){
            return md5($value);
        }
 
        public function tableName()
 {
  return 'users';
 }
 
 /**
  * @return array validation rules for model attributes.
  */
 public function rules()
 {
  // NOTE: you should only define rules for those attributes that
  // will receive user inputs.
  return array(
   array('level', 'numerical', 'integerOnly'=>true),
   array('username, password', 'length', 'max'=>100),
   // The following rule is used by search().
   // @todo Please remove those attributes that should not be searched.
   array('id, username, password, level', 'safe', 'on'=>'search'),
  );
 }
 
 /**
  * @return array relational rules.
  */
 public function relations()
 {
  // NOTE: you may need to adjust the relation name and the related
  // class name for the relations automatically generated below.
  return array(
  );
 }
 
 /**
  * @return array customized attribute labels (name=>label)
  */
 public function attributeLabels()
 {
  return array(
   'id' => 'ID',
   'username' => 'Username',
   'password' => 'Password',
   'level' => 'Level',
  );
 }
 
 /**
  * Retrieves a list of models based on the current search/filter conditions.
  *
  * Typical usecase:
  * - Initialize the model fields with values from filter form.
  * - Execute this method to get CActiveDataProvider instance which will filter
  * models according to data in model fields.
  * - Pass data provider to CGridView, CListView or any similar widget.
  *
  * @return CActiveDataProvider the data provider that can return the models
  * based on the search/filter conditions.
  */
 public function search()
 {
  // @todo Please modify the following code to remove attributes that should not be searched.
 
  $criteria=new CDbCriteria;
 
  $criteria->compare('id',$this->id);
  $criteria->compare('username',$this->username,true);
  $criteria->compare('password',$this->password,true);
  $criteria->compare('level',$this->level);
 
  return new CActiveDataProvider($this, array(
   'criteria'=>$criteria,
  ));
 }
 
 /**
  * Returns the static model of the specified AR class.
  * Please note that you should have this exact method in all your CActiveRecord descendants!
  * @param string $className active record class name.
  * @return User the static model class
  */
 public static function model($className=__CLASS__)
 {
  return parent::model($className);
 }
}

3. Components

Selanjutnya sekarang kita akan membuat user yang sudah kita simpan di dalam tabel di tambahkan ke dalam UserIndentitiy.php. Sekarang buka file UserIndentity.php yang terdapat dalam direktori Protected\components kemudian ubah scriptnya menjadi seperti berikut :

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
 
/**
 * UserIdentity represents the data needed to identity a user.
 * It contains the authentication method that checks if the provided
 * data can identity the user.
 */
class UserIdentity extends CUserIdentity
{
    private $_id;
 /**
  * Authenticates a user.
  * The example implementation makes sure if the username and password
  * are both 'demo'.
  * In practical applications, this should be changed to authenticate
  * against some persistent user identity storage (e.g. database).
  * @return boolean whether authentication succeeds.
  */
 public function authenticate()
 {
                $model = new User;
  $user= $model->findByAttributes(array('username'=>$this->username));
                if($user===null){
                    $this->errorCode=self::ERROR_USERNAME_INVALID;
                }else{
                    if($user->password !== $user->encrypt($this->password)){
                        $this->errorCode=self::ERROR_PASSWORD_INVALID;
                    }else{
                        $this->_id = $user->id;
                        $this->errorCode=self::ERROR_NONE;
                    }
                }
  return !$this->errorCode;
 }
         
        public function getId() {
            return $this->_id;
        }
}

Sebenarnya kita hanya menambahkan beberapa baris kode dan merubah strukturnya saja, penjelasan dari script di atas :

$model = new User;
$user= $model->findByAttributes(array('username'=>$this->username));
Digunakan untuk menemukan data user dalam database berdasarkan username.

if($user===null){
                    $this->errorCode=self::ERROR_USERNAME_INVALID;
Maksud dari script dia atas adalah jika user tidak ada maka tampilkan pesan error.

if($user->password !== $user->encrypt($this->password)){
                        $this->errorCode=self::ERROR_PASSWORD_INVALID;
Maksud dari script dia atas adalah jika passwod salah maka tampilkan pesan error.

this->_id = $user->id;

Memberikan nilai pada $_id;

$this->errorCode=self::ERROR_NONE;

Ini berarti tidak ada error.

public function getId() {
            return $this->_id;

Unutk mendapatkan nilai $_id

4. Test

Sekarang untuk mencobanya anda buka browser kemudian ketikan alamat berikut :

http://localhost/Belajar_Yii/website/site/login

apabila anda belumn mengubah URL anda masukan seperti ini :

http://localhost/Belajar_Yii/website/index.php?r=site/login

*notes kode yang berwarna merah adalah direktori folder Yii Framework anda di localhost.

Membuat Login di Yii Framework

Sekarang loginlah denan username dan password yang anda masukan ke dalam database, contoh username "jin" pass "jin". Sekarang cosutum login telah selesai selanjutnya kita akan memberikan hak akses pada setiap user dengan level berbeda - beda.

Login di Yii Framework sekarang sudah selesai, baca juga tutorial belajar Yii Framework lainnya.