Follow us on:

Pages

Kepibadian

Istilah kepribadian merupakan terjemahan dari Bahasa Inggirs “personality”. Sedangkan istilah personality secara etimologis berasal dari Bahasa latin “person” (kedok) dan “personare” (menembus). Persona biasanya dipakai oleh para pemain sandiwara pada zaman kuno untuk memerankan suatu bentuk tingkah laku dan karakter pribadi tertentu. Sedangkan yang dimaksud dengan personare adalah bahwa para pemain sandiwara itu dengan melalui kedoknya berusaha menembus keluar untuk mengekspresikan suatu bentuk gambaran manusia tertentu. Misalnya: seorang pendiam, pemurung, periang, peramah, pemarah dan sebagainya. Jadi, persona itu bukan pribadi pemain itu sendiri, tetapi gambaran pribadi dari tipe manusia tertentu dengan mealui kedok yang dipakainya. Lalu bagaimanakah para pakar psikologi mendifinisikan kepribadian itu sendiri? Apakah aspek-aspek kepribadian itu? Lalu bagaimana kepribadian itu berkembang?

Pengertian
Kepribadian itu memiliki banyak arti, bahkan saking banyaknya boleh dikatakan jumlah definisi dan arti dari kepribadian adalah sejumlah orang yang menafsirkannya. Hal ini terjadi karena adanya perbedaan dalam penyusunan teori, penelitian dan pengukurannya.
MAY mengartikan keperibadian sebagai “Personalitiy is a social stimus value”. Artinya personality itu merupakan perangsang bagi orang lain. Jadi bagaimana orang lain bereaksi terhadap kita, itulah kepribadian kita.

MecDougal dan kawan-kawannya berpendapat, bahwa kepribadian adalah “tingkatan sifat-sifat dimana biasanya sifat yang tinggi tingkatannya mempunyai pengaruh yang menentukan”.

Sigmund Freud memandang kepribadian sebagai suatu struktur yang terdiri dari tiga sistem yaitu Id, Ego dan Superego. Dan tingkah laku, menurut Freud, tidak lain merupakan hasil dari konflik dan rekonsiliasi ketiga sistem kerpibadian tersebut.

Sedangkan Gordon W. Allport memberikan difinisi kepribadian sebagai berikut: “Kepribadian adalah organisasi dinamis dalam diri individu sebagai sistem praktis psikofisis yang menentukan caranya yang khas dalam menyesuaikan diri terhadap lingkungan”.

Dari difinisi tersebut ada beberapa unsur yang perlu dijelaskan, yaitu sebagai berikut:

Organisasi dinamis, maksudnya adalah bahwa kepribadian itu selalu berkembang dan berubah walaupun ada organisasi sistem yang mengikat dan menghubungkan sebagai komponen kepribadian.

Psikofisis, ini menunjukan bahwa kepribadian bukanlah semata-mata material fisik), tetapi merupakan perpaduan kerja antara aspek psikis dan fisik dalam kesatuan kepribadian.

Istilah menetukan, berarti bahwa kepribadian mengandung kecenderungan-kecenderungan menentukan (determinasi) yang memainkan peran aktif dalam tingkah laku individu. Kepribadian adalah sesuatu dalam melakukan sesuatu. Kepribadian terletak dibelakang perbuatan-perbuatan khusus dan di dalam individu. Dalam arti kepribadian itu bukan hanya ada selama ada orang lain bereaksi terhadapnya, tetapi lebih jauh dari itu mempunyai eksetensi real (keadan nayata), yang termasuk di dalamnya segi-segi neural dan fisiologis.

Unique (khas), ini menunjukan bahwa tidak ada dua orang yang mempunyai kepribadian yang sama.

Menyesuaikan diri terhadap lingkungan, ini menunjukkan bahwa kepribadian mengantari individu dengan lingkungan fisik dan lingkungan psikologisnya, kadang-ladang menguasainya. Jadi kepribadian adalah suatu yang mempunyai fingsi atau arti adaptasi dan menentukan.

Berdasarkan penjelasan Allport tersebut kita dapat melihat bahwa kepribadian sebagai suatu organisasi (berbagai aspek psikis dan fisik) merupakan suatu struktur dan sekaligus proses. Jadi, kepribadian merupakan sesuatu yang dapat berubah. Secara eksplisit Allport menyebutkan, kepribadian secara teratur tumbuh dan mengalami perubahan.

Dari beberpa difinisi yang telah dibuat oleh mereka, maka dapat disimpulkan bahwa:

Kepribadian itu merupakan suatu kebulatan, dan kebulatan itu bersifat kompleks, sedang kekomplekskannya itu disebabkan oleh karena banyaknya faktor-faktor dalam dan faktor-faktor lauar yang ikut menentukan kepribadian itu. Paduan antara faktor-faktor dalam dan faktor-faktor luar itu menimbulkan gambaran yang unik. Artinya tidak ada dua orang yang memiliki kepribadian yang benar-benar sama persis.

Aspek-Aspek Keperibadian

Para ahli psikologi memberikan penekanan bahwa yang dipelajari oleh psikologi bukanlah jiwa, tetapi tingkah laku manusia, baik perilaku yang kelihatan (overt) maupun yang tidak kelihatan (covert).

Tingkah laku manusia dianalisis ke dalam tiga aspek atau fungsi, yaitu:

Aspek Kognitif (pengetahuan), yaitu pemikiran, ingatan, hayalan, daya bayang, inisiatif, kreativitas, pengamatan, dan pengindraan. Fungsi aspek kognitif adalah menunjukkan jalan, mengarahkan, dan mengendalikan tingkah laku.

Aspek Afektif, yaitu kejiwaan yang berhubungan dengan kehidupan alam perasaan atau emosi, sedangkan hasrat, kehendak, kemauan, keinginan, kebutuhan, dorongan, dan element motivasi lainnya disebut aspek konatif atau psiko-motorik (kecenderungan atau niat tindak) yang tidak dapat dipisahkan dengan aspek afektif. Kedua aspek tersebut sering disebut aspek finalis yang berfungsi sebagai energi atau tenaga mental yang menyebabkan manusia bertingkah laku.

Aspek Motorik, yaitu berfungsi sebagai pelaksana tingkah laku manusia seperti perbuatan dan gerakan jasmani lainnya.

Perkembangan Kepribadian
Meskipun kepribadian seseorang itu relatif konstan, namun dalam kenyataannya sering ditemukan bahwa perubahan kepribadian dapat dan mungkin terjadi, terutama dipengaruhi oleh faktor lingkungan dari pada faktor fisik. Erikson mengemukakan tahapan perkembangan kepribadian dengan kecenderungan yang bipolar:

1. Masa bayi (infancy) ditandai adanya kecenderungan trust – mistrust. Perilaku bayi didasari oleh dorongan mempercayai atau tidak mempercayai orang-orang di sekitarnya. Dia sepenuhnya mempercayai orang tuanya, tetapi orang yang dianggap asing dia tidak akan mempercayainya. Oleh karena itu kadang-kadang bayi menangis bila di pangku oleh orang yang tidak dikenalnya. Ia bukan saja tidak percaya kepada orang-orang yang asing tetapi juga kepada benda asing, tempat asing, suara asing, perlakuan asing dan sebagainya. Kalau menghadapi situasi-situasi tersebut seringkali bayi menangis.


2. Masa kanak-kanak awal (early childhood) ditandai adanya kecenderungan autonomy – shame, doubt. Pada masa ini sampai batas-batas tertentu anak sudah bisa berdiri sendiri, dalam arti duduk, berdiri, berjalan, bermain, minum dari botol sendiri tanpa ditolong oleh orang tuanya, tetapi di pihak lain dia telah mulai memiliki rasa malu dan keraguan dalam berbuat, sehingga seringkali minta pertolongan atau persetujuan dari orang tuanya.


3. Masa pra sekolah (Preschool Age) ditandai adanya kecenderungan initiative – guilty. Pada masa ini anak telah memiliki beberapa kecakapan, dengan kecakapan-kecakapan tersebut dia terdorong melakukan beberapa kegiatan, tetapi karena kemampuan anak tersebut masih terbatas adakalanya dia mengalami kegagalan. Kegagalan-kegagalan tersebut menyebabkan dia memiliki perasaan bersalah, dan untuk sementara waktu dia tidak mau berinisatif atau berbuat.

4. Masa Sekolah (School Age) ditandai adanya kecenderungan industry–inferiority. Sebagai kelanjutan dari perkembangan tahap sebelumnya, pada masa ini anak sangat aktif mempelajari apa saja yang ada di lingkungannya. Dorongan untuk mengatahui dan berbuat terhadap lingkungannya sangat besar, tetapi di pihak lain karena keterbatasan-keterbatasan kemampuan dan pengetahuannya kadang-kadang dia menghadapi kesukaran, hambatan bahkan kegagalan. Hambatan dan kegagalan ini dapat menyebabkan anak merasa rendah diri.


5. Masa Remaja (adolescence) ditandai adanya kecenderungan identity – Identity Confusion. Sebagai persiapan ke arah kedewasaan didukung pula oleh kemampuan dan kecakapan-kecakapan yang dimilikinya dia berusaha untuk membentuk dan memperlihatkan identitas diri, ciri-ciri yang khas dari dirinya. Dorongan membentuk dan memperlihatkan identitasdiri ini, pada para remaja sering sekali sangat ekstrim dan berlebihan, sehingga tidak jarang dipandang oleh lingkungannya sebagai penyimpangan atau kenakalan. Dorongan pembentukan identitas diri yang kuat di satu pihak, sering diimbangi oleh rasa setia kawan dan toleransi yang besar terhadap kelompok sebayanya. Di antara kelompok sebaya mereka mengadakan pembagian peran, dan seringkali mereka sangat patuh terhadap peran yang diberikan kepada masing-masing anggota.


6. Masa Dewasa Awal (Young adulthood) ditandai adanya kecenderungan intimacy – isolation. Kalau pada masa sebelumnya, individu memiliki ikatan yang kuat dengan kelompok sebaya, namun pada masa ini ikatan kelompok sudah mulai longgar. Mereka sudah mulai selektif, dia membina hubungan yang intim hanya dengan orang-orang tertentu yang sepaham. Jadi pada tahap ini timbul dorongan untuk membentuk hubungan yang intim dengan orang-orang tertentu, dan kurang akrab atau renggang dengan yang lainnya.


7. Masa Dewasa (Adulthood) ditandai adanya kecenderungan generativity-stagnation. Sesuai dengan namanya masa dewasa, pada tahap ini individu telah mencapai puncak dari perkembangan segala kemampuannya. Pengetahuannya cukup luas, kecakapannya cukup banyak, sehingga perkembangan individu sangat pesat. Meskipun pengetahuan dan kecakapan individu sangat luas, tetapi dia tidak mungkin dapat menguasai segala macam ilmu dan kecakapan, sehingga tetap pengetahuan dan kecakapannya terbatas. Untuk mengerjakan atau mencapai hal– hal tertentu ia mengalami hambatan.


8. Masa hari tua (Senescence) ditandai adanya kecenderungan ego integrity – despair. Pada masa ini individu telah memiliki kesatuan atau intregitas pribadi, semua yang telah dikaji dan didalaminya telah menjadi milik pribadinya. Pribadi yang telah mapan di satu pihak digoyahkan oleh usianya yang mendekati akhir. Mungkin ia masih memiliki beberapa keinginan atau tujuan yang akan dicapainya tetapi karena faktor usia, hal itu sedikit sekali kemungkinan untuk dapat dicapai. Dalam situasi ini individu merasa putus asa. Dorongan untuk terus berprestasi masih ada, tetapi pengikisan kemampuan karena usia seringkali mematahkan dorongan tersebut, sehingga keputusasaan acapkali menghantuinya.

Kedelapan tahapan perkembangan kepribadian dapat digambarkan dalam tabel berikut ini:
Ericson tidak merasa bahwa semua periode yang penting dalam bertambahnya perbuatan yang disengaja dan kemampuan yang lebih tinggi terjadi pada masa kritis secara berturut-turut. Ia menegaskan bahwa perkembangan psikologi terjadi karena tahapan-tahapan kritikal. Kritikal adalah karateristik saat membuat keputusan antara kemajuan dan kemunduran. Pada situasi seperti ini bisa saja terjadi perkembangan atau kegagalan, sehingga dapat mengakibatkan masa depan yang lebih baik atau lebih buruk, tetapi sebetulnya situasi tersebut dapat disusunkembali. Ericson percaya bahwa kepribadian masih dapat dibuat dan diubah pada masa dewasa.


Ingat keperibadian itu bisa berubah, entah itu ke arah yang psitif atau negatif, semakin matang atau malah mundur. Tentu yang kita inginkan adalah menjadi pribadi yang baik , baik itu di mata kita atau lebih-lebih di mata orang-orang banyak yang hidup berdampingan dengan kita. Bukan begitu?

ATTITUDE ?

Pengertian

Perilaku manusia juga dilatar belakangi oleh sikap. Sikap sendiri memeiliki pengertian sebagai “organisasi pendapat, keyakinan seseorang mengenai objek atau situasi relatif yang relatif ajeg yang disertai adanya perasaan tertentu dan memberikan dasar kepada organisme untuk membuat respon atau perilaku dalam cara tertentu yang dipilihnya”. Atau dalam bahasa sederhana sikap adalah kesediaan beraksi terhadap suatu hal.

Sikap memiliki beberapa pengertian dan definisi sebagai berikut :
• Sikap adalah predisposisi mental untuk melakukan suatu tindakan (Kimmball Young (1945)
• Sikap adalah keajegan dan kekhasan perilaku seseorang dalam hubungan dengan stimulus manusia atau kejadian-kejadian tertentu (Sherif & sherif 1956)
• Sikap adalah predidposisi yang dipelajari untuk merespon secara konsisten dalam tatacara tertentu dan berkenaan dengan objek tertentu (Fishbein & Ajzen 1975)
• Kesimpulannya pengertain sikap adalah kecenderungan untuk bertindak dan bereaksi terhadap stimulus atau rangsangan.

Komponen sikap
Sikap merupakan hubungan dari berbagai komponen yang terdiri atas :
a. Komponen kognitif : yaitu komponen yang tersusun atas dasar pengetahuan dan informasi yang dimilki seseorang tentang objek sikapnya atau komponen yang berkaitan dengan pengetahuan, pandangan, keyakinan atau bagaimana mempersepsi objek
b. Komponen afektif : komponen yang bersifat evaluatif yang berhubungan dengan rasa senang dan tidak senang
c. Komponen konatif : kesiapan seseorang untuk bertingkah laku yang berhubungan dengan objek sikapnya atau komponen yang berhubungan dengan kecenderungan bertindak terhadap objek

Ciri-ciri sikap
Sikap memiliki ciri-ciri sebagai berikut :
a. Sikap tidak dibawa sejak lahir
Berarti manusia dilahirkan tidak membawa sikap tertentu pada suatu objek. Oleh karenanya maka sikap terbentuk selama perkembangan individu yang bersangkutan. Karena terbentuk selama perkembangan maka sikap dapat berubah, dapat dibentuk dan dipelajari. Namun kecenderungannya sikap bersifat tetap.
b. Sikap selalu berhubungan dengan objek
Sikap terbentuk karena hubungan dengan objek-objek tertentu, melalui persepsi terhadap objek tersebut.
c. Sikap dapat tertuju pada satu objek dan sekumpulan objek
Bila seseorang memiliki sikap negatif pada satu orang maaka ia akan menunjukkan sikap yang negatif pada kelompok orang tersebut.
d. Sikap itu dapat berlangsung lama atau sebentar
Jika sikap sudah menjadi nilai dalam kehidupan seseorang maka akan berlangsung lama bertahan, tetapi jika sikap belum mendalam dalam diri seseorang maka sikap relaatif dapat berubah.
e. Sikap mengandung perasaan atau motivasi
Sikap terhaadap sesuaatu akan diikuti oleh perasaan tertentu baik positif maupun negatif. Sikap juga mengandung motivasi atau daya dorong untuk berperilaku.

Sistem Login dengan Tipe User & Hak Akses Berbeda

Tutorial php Sistem Login dengan Tipe User & Hak Akses Berbeda menjelaskan langkah langkah membuat login sistem dengan beberapa tipe user yang memiliki hak akses yang berbeda beda pula.

Pada tutorial ini Anda mungkin menemukan hal baru atau hal yang bisa membingungkan, oleh karena itu Anda perlu membaca dengan seksama!

Sistem login menyangkut 2 hal/konsep/proses yaitu Otentikasi & Otorisasi atau Authentication & Authorization

Otentikasi & Otorisasi

Kedua konsep ini perlu dipahami sebelum memulai membuat kode login sistem yang akan dijelaskan di tutorial php ini.

Otentikasi atau Authentication adalah proses mengkonfirmasi identitas dari seseorang atau suatu benda. Misalkan pada saat pulang ke rumah dan mengetuk pintu masuk, maka ibu Anda akan menanyakan siapa yang mengetuk pintu, sebelum mempersilahkan Anda masuk.

Otorisasi atau Authorization adalah proses memberi izin seseorang atau suatu benda untuk melakukan sesuatu. Contoh, setelah Anda dipersilahkan masuk, maka Anda akan diizikan untuk duduk di ruang tamu, menonton tv, membaca majalah di meja, masuk ke kamar tidur Anda. Namun tidak mengizinkan Anda menggunakan laptop ayah Anda atau membuka kotak penyimpanan.

Proses otentikasi & otorisasi menyangkut 4 komponen penting.
  1. Orang atau benda yang akan melakukan sesuatu dan dikonfirmasi indentitasnya, dalam contoh di atas Anda sendiri;
  2. Aksi yang dilakukan, misal membaca, menonton;
  3. Benda yang dikenakan Aksi, misal tv, buku, kamar tidur;
  4. Peran atau role dari orang di dalam sistem, misal peran Anda di rumah yaitu sebagai Anak.
Perlu ditekankan di komponen terakhir peran. Pada saat Anda berdiri di depan pintu rumah, saat mengetuk pintu, maka peran Anda adalah "TAMU" atau "GUEST". Setelah ibu Anda mengkonfirmasi diri Anda dan mengizinkan Anda masuk ke dalam rumah, maka peran Anda berubah menjadi "ANAK". Jika yang mengetuk pintu ayah Anda maka setelah diizinkan masuk perannya berubah dari "TAMU" ke "KEPALA KELUARGA". Peran inilah yang menentukan aksi apa yang boleh Anda lakukan terhadap sebuah benda. Aksi Aksi apa saja yang bisa Anda lakukan berdasarkan peran Anda sering disebut dengan hak akses.

Menyiapkan Tabel Database

Langkah pertama yang perlu dilakukan adalah membuat tabel yang akan digunakan pada tutorial ini. Buatlah tabel dengan nama "user" seperti di bawah:
 _______________________________________________________________________
| kolom  | tipe data  | keterangan   |
 -----------------------------------------------------------------------
| user_id | varchar(40)  | primary key   |
 -----------------------------------------------------------------------
| name  | varchar(50)  |     |
 -----------------------------------------------------------------------
| password | varchar(50)  |     |
 -----------------------------------------------------------------------
| type  | varchar(20)  | mencatat tipe/peran user  |
 -----------------------------------------------------------------------
  1. CREATE TABLE `user` (
  2. `user_id` VARCHAR(40) NOT NULL ,
  3. `name` VARCHAR(50) NULL ,
  4. `password` VARCHAR(50) NULL ,
  5. `type` VARCHAR(20) NULL ,
  6. PRIMARY KEY (`user_id`) )
  7. DEFAULT CHARACTER SET = utf8
  8. COLLATE = utf8_general_ci;
Perlu diperhatikan di tabel di atas ada satu kolom type, kolom type digunakan untuk mencatat/menentukan peran pengguna setelah berhasil login.

Membatasi Hak Akses Pengguna Berdasarkan Tipe/Peranan (Otorisasi)

Pada bagian ini akan dimulai membuat kode php untuk membatasi hak akses. Seperti dijelaskan di atas otentikasi & otorisasi menyangkut 4 komponen. Jika dikaitkan dengan contoh kode di tutorial ini maka 4 komponen tersebut adalah sebagai berikut:
  1. Orang atau benda-> pengguna atau pengunjung website;
  2. Aksi-> mengakses/menload/mengunjungi halaman web;
  3. Benda-> halaman web, misal: index.php, login.php, admin.php;
  4. Peran-> guest,admin,user ditentukan dari kolom type di tabel user.

File Konfigurasi

Pertama buat file config.php untuk menyimpan semua konfigurasi umum seperti konfigurasi koneksi database.
  1. if(!defined('__NOT_DIRECT')){
  2. //mencegah akses langsung ke file ini
  3. die('Akses langsung tidak diizinkan!');
  4. }
  5.  
  6. define('BASE_URL', '/tutorial/multi-login/');
  7. //koneksi database
  8. define('DB_HOST','localhost');
  9. define('DB_USER','root');
  10. define('DB_PASS', 'blah');
  11. define('DB_NAME' ,'test');
Pada baris ke-2 sampai ke-5 digunakan untuk mencegah akses langsung ke file config.php, file harus di-include oleh file lain dengan mendifinisikan konstanta __NOT_DIRECT terlebih dahulu.
Baris ke-7 adalah bagian terpenting, mendifinisikan konstanta BASE_URL jika Anda mengakses tutorial ini di browser seperti http://localhost/tutorial/multi-login/ maka BASE_URL diisi dengan /tutorial/multi-login/. Jika http://localhost/multi-login/ maka isi BASE_URL dengan /multi-login/. Tinggal hilangkan localhost, lebih mudahnya lagi jika Anda membuat tutorial ini di folder htdocs/tutorial/multi-login maka isi BASE_URL dengan tutorial/multi-login.
Baris selanjutnya adalah mendefinisikan konstanta untuk koneksi ke database.

Konfigurasi Hak Akses Masing Masing Tipe User

Setelah selesai mendefinisikan konfigurasi global, selanjutnya adalah membuat file konfigurasi hak akses masing masing tipe user, halaman web mana saja yang bisa diakses setiap tipe user.
  1. Pertama buat folder dengan nama "akses".
  2. Di dalam folder akses buatlah 3 file, file admin.php untuk pengguna dengan peran admin, file user.php untuk pengguna dengan peran user (user biasa), dan file guest.php untuk pengguna dengan peran guest.
Masing masing file tersebut adalah sebagai berikut:
file admin.php
  1. $__akses_config = array(
  2. 'login.php',
  3. 'logout.php',
  4. 'admin/index.php',
  5. 'admin/list-user.php',
  6. 'admin/add-user.php',
  7. 'admin/edit-user.php',
  8. 'admin/delete-user.php',
  9. 'admin/add-artikel.php',
  10. 'admin/edit-artikel.php',
  11. 'admin/list-artikel.php',
  12. 'admin/delete-artikel.php',
  13. 'index.php',
  14. 'view-artikel.php'
  15. );
file user.php
  1. $__akses_config = array(
  2. 'login.php',
  3. 'logout.php',
  4. 'admin/index.php',
  5. 'admin/add-artikel.php',
  6. 'admin/edit-artikel.php',
  7. 'admin/list-artikel.php',
  8. 'admin/delete-artikel.php',
  9. 'index.php',
  10. 'view-artikel.php'
  11. );
file guest.php
  1. $__akses_config = array(
  2. 'login.php',
  3. 'logout.php',
  4. 'register.php',
  5. 'index.php',
  6. 'view-artikel.php'
  7. );
ketiga file di atas berisi satu variabel dengan nama $__akses_config dengan tipe data array, variabel $__akses_config berisi data array dari halaman halaman mana saja yang bisa diakses masing masing tipe user. Contoh admin boleh mengakses halaman admin/list-user.php sedangkan user dan guest tidak bisa, kemudian semua pengguna bisa mengakses halaman login.php.
Jumlah file di folder akses tidak terpaku hanya 3 buah, bisa ditambah sesuai dengan kebutuhan, sesuai dengan tipe user yang diinginkan.

File Untuk Otorisasi User

Langkah selanjutnya adalah membuat file cek-akses.php. File ini digunakan untuk menentukan apa peran pengguna dan halaman apa saja yang bisa dikunjungi.

Pertama mencegah akses langsung ke file cek-akses.php, file harus di-include oleh file lain dengan mendifinisikan konstanta __NOT_DIRECT terlebih dahulu.
  1. if(!defined('__NOT_DIRECT')){
  2. //mencegah akses langsung ke file ini
  3. die('Akses langsung tidak diizinkan!');
  4. }

Kedua mengecek apakah user sudah login atau belum dan menentukan tipe/peran pengguna.
  1. // ....
  2. include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'config.php';
  3. if(!isset($_SESSION['my_user_agent']) || ($_SESSION['my_user_agent']!=md5($_SERVER['HTTP_USER_AGENT']))){
  4. //user belum login
  5. $__tipe_user = 'guest';
  6. }else{
  7. $__tipe_user = $_SESSION['tipe_user'];
  8. }
Membuka session di baris ke-7, baris ke-8 meng-include file config.php yang telah dibuat sebelumnya. Baris ke-9 sampai 14 mengecek apakah pengguna sudah login, jika belum login maka tipenya adalah "guest" dan sebaliknya tipe user sesuai dengan nilai $_SESSION['tipe_user'] (sesuai dengan nilai dari tabel user).
Catatan:
Berikut penjelasan beberapa fungsi yang mungkin baru Anda ketahui:
  • DIRECTORY_SEPARATOR adalah konstanta yang berisi nilai 'pemisah folder', di windows nilainya \ dan di linux /.
  • __FILE__ adalah konstanta yang berisi nilai nama lengkap file beserta nama foldernya misal, file cek-akses.php ada di folder C:\xampp\htdocs\multi-login maka __FILE__ akan berisi C:\xampphtdocsmulti-logincek-akses.php.
  • dirname fungsi untuk mendapatkan nama folder dari sebuah file atau folder, dirname('C:\xampp\htdocs\multi-login\cek-akses.php'); akan menghasilkan 'C:\xampp\htdocs\multi-login'.

Ketiga meng-include salah satu file yang ada di folder akses yang dibuat sebelumnya, sesuai dengan tipe pengguna yang diperoleh pada kode di atas. Jika tipe pengguna guest maka include file akses/guest.php, jika admin maka include file akses/admin.php
  1. //.....
  2. $aksesFilename = dirname(__FILE__).DIRECTORY_SEPARATOR.'akses'.DIRECTORY_SEPARATOR.$__tipe_user.'.php';
  3. if(!file_exists($aksesFilename)){
  4. die('Terjadi kesalahan sistem');
  5. }
  6. include $aksesFilename;

Keempat menentukan file yang sedang diakses oleh pengguna dan mengecek apakah pengguna diperbolehkan mengakses file tersebut.
  1. //.........
  2. $arrayCurrentPath = explode('?',$_SERVER['REQUEST_URI']);
  3. $currentPath = substr($arrayCurrentPath[0], strlen(BASE_URL));
  4.  
  5. $allow = in_array($currentPath, $__akses_config);

Kelima jika pengguna tidak diizinkan dan pengguna belum login maka pengguna dialihkan ke halaman login (baris 28 dan 29), sebaliknya ditampilkan text "Anda tidak diizinkan mengakses halaman ini!" (baris 31).
  1. //..........
  2. if(!$allow){
  3. if($__tipe_user == 'guest' && $currentPath != 'login.php'){
  4. header("Location: ".BASE_URL.'login.php');
  5. }else{
  6. echo "Anda tidak diizinkan mengakses halaman ini!";
  7. }
  8. }
Setelah semua langkah di atas digabungkan maka file cek-akses.php akan seperti:
  1. if(!defined('__NOT_DIRECT')){
  2. //mencegah akses langsung ke file ini
  3. die('Akses langsung tidak diizinkan!');
  4. }
  5.  
  6.  
  7. require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'config.php';
  8.  
  9. if(!isset($_SESSION['my_user_agent']) || ($_SESSION['my_user_agent']!=md5($_SERVER['HTTP_USER_AGENT']))){
  10. //user belum login
  11. $__tipe_user = 'guest';
  12. }else{
  13. $__tipe_user = $_SESSION['tipe_user'];
  14. }
  15.  
  16. $aksesFilename = dirname(__FILE__).DIRECTORY_SEPARATOR.'akses'.DIRECTORY_SEPARATOR.$__tipe_user.'.php';
  17. if(!file_exists($aksesFilename)){
  18. die('Terjadi kesalahan sistem');
  19. }
  20. include $aksesFilename;
  21.  
  22. $arrayCurrentPath = explode('?',$_SERVER['REQUEST_URI']);
  23. $currentPath = substr($arrayCurrentPath[0], strlen(BASE_URL));
  24.  
  25. $allow = in_array($currentPath, $__akses_config);
  26.  
  27. if(!$allow){
  28. if($__tipe_user == 'guest' && $currentPath != 'login.php'){
  29. header("Location: ".BASE_URL.'login.php');
  30. }else{
  31. echo "Anda tidak diizinkan mengakses halaman ini!";
  32. }
  33. }

Otentikasi Pengguna

Setelah membuat skrip untuk otorisasi pengguna di atas, langkah selanjutnya adalah membuat skrip untuk Otentikasi user.

File Login.php

Berikut adalah langkah langkah untuk membuat file login.php, langkah langkah mengotentikasi pengguna.
Pertama mendefinisikan konstanta __NOT_DIRECT dan meng-include file cek-akses.php
  1. defined('__NOT_DIRECT') || define('__NOT_DIRECT',1);
  2. include 'cek-akses.php';

Kedua cek apakah pengguna sudah menginput user_id & password dan menekan tombol login, kemudian membuka koneksi ke database
  1. //....
  2. if($_POST){
  3. mysql_connect(DB_HOST,DB_USER,DB_PASS);
  4. mysql_select_db(DB_NAME);

Ketiga cek kebenaran user_id dan password yang diinput pengguna. Jika benar buat 3 session $_SESSION['tipe_user'], $_SESSION['user_id'], dan $_SESSION['my_user_agent'] dan alihkan pengguna ke halaman admin/index.php. Sebaliknya jika user_id atau password salah tampilkan pesan "ID User atau password salah!"
  1. //..........
  2. $userId = mysql_real_escape_string($_POST['user_id']);
  3. $data = mysql_fetch_array(mysql_query("select * from user where user_id='".$userId."'"));
  4. if($data !== false && $data['password'] == md5($_POST['password'])){
  5. //login berhasil
  6. $_SESSION['tipe_user'] = $data['type'];
  7. $_SESSION['user_id'] = $data['user_id'];
  8. $_SESSION['my_user_agent'] = md5($_SERVER['HTTP_USER_AGENT']);
  9. header("Location: admin/index.php");
  10. }else{
  11. echo "ID User atau password salah!";
  12. }
  13. }?>

Keempat membuat form login
  1. //.......
  2. <form method="post" action="">
  3. ID User: <input type="text" name="user_id"/>
  4. Password: <input type="password" name="password"/>
  5. <input type="submit" value="Login"/>
  6. </form>
Jika digabungkan file login.php akan menjadi:
  1. defined('__NOT_DIRECT') || define('__NOT_DIRECT',1);
  2. include 'cek-akses.php';
  3. if($_POST){
  4. mysql_connect(DB_HOST,DB_USER,DB_PASS);
  5. mysql_select_db(DB_NAME);
  6. $userId = mysql_real_escape_string($_POST['user_id']);
  7. $data = mysql_fetch_array(mysql_query("select * from user where user_id='".$userId."'"));
  8. if($data !== false && $data['password'] == md5($_POST['password'])){
  9. //login berhasil
  10. $_SESSION['tipe_user'] = $data['type'];
  11. $_SESSION['user_id'] = $data['user_id'];
  12. $_SESSION['my_user_agent'] = md5($_SERVER['HTTP_USER_AGENT']);
  13. header("Location: admin/index.php");
  14. }else{
  15. echo "ID User atau password salah!";
  16. }
  17. }
  18. ?>
  19. ID User:
  20. Password:

Cara Menggunakan File cek-akses.php

Untuk menggunakan cek-akses.php sangat sederhana seperti
  1. defined('__NOT_DIRECT') || define('__NOT_DIRECT',1);
  2. include 'cek-akses.php';
Sekarang buatlah folder admin dan file admin/index.php, admin/add-user.php dan admin/add-artikel.php. Masing masing file ditambahkan kode di bawah di bagian paling atas.
  1. defined('__NOT_DIRECT') || define('__NOT_DIRECT',1);
  2. include '../cek-akses.php';
  3. ?>

Uji Coba

Gunakanlah sql berikut untuk menambahkan user di tabel user
  1. INSERT INTO USER (user_id, name, password, TYPE) VALUES ('admin1', 'Admin', md5('admin'), 'admin');
  2. INSERT INTO USER (user_id, name, password, TYPE) VALUES ('test', 'Test', md5('123456'), 'user');
Sekarang akses dari browser http://localhost/multi-login/admin/index.php maka Anda akan dialihkan ke halaman login. Masukkan user id test dan password 123456. Setelah berhasil login akses http://localhost/multi-login/admin/add-user.php maka akan muncul text "Anda tidak diizinkan mengakses halaman ini!". Dengan langkah yang sama coba login dengan admin dan password admin, lalu akses http://localhost/multi-login/admin/add-user.php maka Anda akan diperbolehkan mengaksesnya serta text "Anda tidak diizinkan mengakses halaman ini!" akan hilang.

Mengenal Perbedaadn System.in dan System.out di JAVA

Pada posting singkat kali ini saya akan menjelaskan perbedaan perintah System.out.print dan System.out.println di Java. System.out.print dan System.out.println memiliki fungsi yang sama, yaitu sama-sama berfungsi untuk mencetak angka atau karakter di Layar.

Lalu dimana perbedaan antara kedua perintah tersebut ? perbedaannya adalah kalau perintah System.out.print setelah mencetak, maka posisi kursor akan tepat berada disebelah angka atau karakter yang telah dicetak. Sedangkan pada perintah System.out.println, setelah mencetak, maka posisi kursor akan pindah ke baris baru, tepat dibawah angka atau karakter yang telah dicetak oleh perintah System.out.println sebelumnya. Untuk jelasnya, coba perhatikan kedua script dibawah ini:
public class latihan1 {
public static void main(String[] args)
{
System.out.print(“abc”);
System.out.print(“def”);
}
}
Apabila script latihan1 tersebut dijalankan, maka output program akan berupa :
abc
Berikut ini merupakan script kedua yang menggunakan perintah System.out.println :
public class latihan2 {
public static void main(String[] args)
{
System.out.println(“abc”);
System.out.println(“def”);
}
}
Apabila script latihan2 tersebut dijalankan, maka output program akan berupa :
abc
def
Semoga kedua contoh script ini dapat memberikan gambaran perbedaan antara perintah System.out.print dan System.out.println di Java.
Sekian saja posting kali ini. Selamat mencoba dan good luck icon wink Mengenal Perbedaan Perintah System.out.print dan System.out.println di Java

Apa sih PHP itu?



pada posting kali ini saya akan mencoba menguraikan apa itu PHP dan 2 istilah teknik yaitu server side dan client side
Kepanjangan dari PHP adalah PHP: Hypertext Preprocessor. pasti kalian merasa bingung kok singkatan PHP ada kata kata PHP lagi?. Sama saya juga bingung tapi kita terima aja dech maklum bukan saya yang menciptakan PHP ini, jadi tidak berhak melakukan protes icon biggrin apa itu PHP?
PHP merupakan bahasa pemrograman yang berjalan di sisi server atau biasa disebut dengan Server Side.
Bingung dengan istilah tersebut.? Jangan khawatir saya akan berusaha menjelaskan dengan bahasa yang mudah dimengerti untuk istilah tersebut.
Secara garis besar bahasa pemrograman web terdiri dari dua macam. Yang pertama disebut dengan Client Side atau script yang dijalankan di komputer client dan yang kedua biasanya disebut dengan Server Side atau script yang dijalankan pada komputer server. Gampangnya begini kalo Client Side adalah script atau perintah yang ditujukan pada komputer untuk dijalankan pada komputer milik orang yang mengakses web tersebut. Misalnya kalian mengakses web site www.indrabt.com. Apabila web site ini memiliki script client side yang berguna untuk menampilkan misalnya gambar logo milik web site ini maka yang menjalankan script tersebut adalah komputer kalian atau dengan kata lain browser kalian. Apabila script yang berguna untuk menampilkan gambar logo adalah bersifat server side maka pertama tama script tersebut akan diproses di server tempat web site tersebut berada (biasanya disebut dengan hosting), setelah diproses baru hasil pemrosesan tersebut akan dikirimkan pada client yang mengakses web site tersebut. Begitu gambarannya.
nach apa saja bahasa pemrograman web yang termasuk dalam Client Side dan Server Side. Saya akan memberikan contoh yang paling banyak digunakan aja soalnya saya juga gak hafal sich semua macam bahasa pemrograman web baik yang client maupun server side. Bahasa pemrograman Client Side yang terkenal adalah Javascript, VBScript, beserta dengan teman-temannya. Sedangkan bahasa pemrograman server side yang terkenal adalah PHP, Ruby On Rail, JSP, ASP, ASP.NET, dan masih banyak lagi.
nach untuk hari ini itu aja postingan saya biar kalian tidak terlalu pusing. Takutnya kalau kalian pusing malah jadi males belajar PHP and saya juga yang rugi. lo kok bisa?, pasti itu yang muncul di benak kalian. jawabannya gampang aja. Soalnya saya udah ngetik banyak banyak dan tidak ada yang baca, menurut kalian rugi nggak udah ngetik banyak banyak malah tidak ada yang baca icon biggrin apa itu PHP?
postingan berikutnya saya akan mencoba menguraikan apa saja yang dapat dilakukan oleh PHP. Jadi tunggu postingan berikutnya or next episode oke.

Fitur di JAVA

FITUR-FITUR JAVA 

Beberapa fitur yang ditawarkan Java API antara lain sebagai berikut :

a. Aplet
   Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih dinamis dan menarik.

b. Java Networking
   Sekumpulan API (Aplication Programming Interface) yang menyediakan fungsi - fungsi untuk aplikasi – aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Adrress dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alasan sekuriti dan pada kondidi umum hanya administrator ( root ) yang bisa memanfaatkan protokol ICMP.

c. Java Database Connectivity (JDBC)
   JDBC menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.

d. Java Security
   Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara high level atau low level, seperti public/private key management dan certificates.

e. Java Swing
   Java Swing menyediakan sekumpulan API untuk membangun aplikasi – aplikasi GUI (Graphical User Interface) dan model GUI yang diinginkan bisa bermacam – macam, bisa model Java, model Motif/CDE atau model yang dependent terhadap platform yang digunakan.

f. Java RMI
   Java RMI menyediakan sekumpulan API untuk membangun aplikasi – aplikasi Java yang mirip dengan model RPC (Remote 4 Procedure Call) jadi object - object Java bisa di call secara remote pada jaringan komputer.

g. Java 2D/3D
   Java 2D/3D menyediakan sekumpulan API untuk membangun grafik – grafik 2D/3D yang menarik dan juga akses ke printer.

h. Java Server Pages
   Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi – aplikasi CGI, JSP (Java Server Pages) yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi Internet.

i. JNI (Java Native Interface)
   JNI menyediakan sekumpulan API yang digunakan untuk mengakses fungsi – fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C,C++, dan Basic.

j. Java Sound
Java Sound menyediakan sekumpulan API untuk manipulasi sound.

k. Java IDL + CORBA
Java IDL (Interface Definition Language) menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia networking.

l. Java Card
Java Card utamanya digunakan untuk aplikasi – aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada handphone.

m. JTAPI (Java Telephony API)
Java Telepony API menyediakan sekumpulan API untuk memanfaatkan devices – devices telepony, sehingga akan cocok untuk aplikasi – aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution), PCPBX dan lainnya.
  
Guna mencakup lingkungan-lingkungan aplikasi yang berbeda, Sun mendefinisikan 3 (tiga) edisi java, yaitu :

1.    J2ME (Java Micro Edition)

Edisi ini ditunjukan bagi lingkungan dengan sumber daya terbatas, seperti smartcard, ponsel, dan PDA.

2.      J2SE (Java 2 Standard Edition)

Edisi ini ditunjukan bagi lingkungan workstation, seperti pembuatan aplikasi-aplikasi desktop.

3.      J2EE (Java 2 Enterprise Edition)

Edisi ini ditunjukan bagi lingkungan Internet atau aplikasi terdistribusi dalam skala besar.

     Perbedaan setiap edisi meliputi fitur-fitur bahasa yang didukung dan API yang tersedia. Berdasarkan tingkatannya, edisi yang lebih tinggi mampu mengemulasi edisi yang lebih rendah. Adapun urutan edisi yang tertinggi ke rendah adalah J2EE, J2SE, J2ME.

     Sedangkan pada Versi java kita cermati dari versi-versi Java yang telah dirilis Sun yang menggunakan dua jenis versi, yaitu versi produk dan versi developer. Seperti kita ketahu, versi terbaru saat ini adalah versi 6 (Versi produk) atau versi 1.6.5 (Versi developer), dengan nama kode Mustang. Sejak tahun 2006, Sun juga menyederhanakan penamaan platform dengan tujuan untuk mencerminkan tingkat kematangan, stabilitas, skalabilitas, dan sekurity yang lebih baik. Jika penamaan versi sebelumnya adalah Java 2 Platform, Standard Edition 5.0 (J2SE 5.0), maka sekarang disederhanakanmenjadi Java Platform, Standard Edition 6 (Java SE 6, atau lebih sering disebut Java 6).



Arti Logo JAVA

 ARTI LOGO








          




   Pertama, mari kita bicara tentang bentuk logo itu sendiri; itu adalah sebuah gambar pada sebuah piring cangkir dengan uap di atas. Salah satu hal yang menarik dari desain adalah bahwa gambar terdiri dari garis melengkung sederhana (8 baris di total, 6 baris untuk cangkir dan piring dan 2 untuk uap).

       Tentang warna, itu terdiri dari 2 warna utama (merah dan biru) yang adalah 2 warna utama dalam desain. Dengan menggunakan dua warna ini, dapat ditempatkan bagus di backgroud warna berbeda tetapi masih tetap kontras yang bagus … Hei, mari kita lihat uap, harus putih pada kenyataannya, mengapa … merah? Uhmm mungkin tidak hanya keluar uap cangkir, itu acttualy api: D Wow itu benar-benar tampak seperti api sekarang. Aku sekarang dapat melihat satu titik menarik di sini cangkir membuat Anda berpikir 2-line uap seperti uap, tetapi warna uap memberitahu Anda bahwa itu api, atau dengan kata lain, cangkir jangkar arti dari baris 2-simbol sebagai uap sementara warna simbol jangkar arti dari simbol sebagai api, begitu menarik.

       Api adalah simbol kekuasaan, panas, energi, kekuatan, bahaya dan lain-lain Berdasarkan makna asosiasi ini, hal itu menunjukkan sebuah rasa kekuatan bahasa pemrograman ini, Jawa. Memang, Java adalah bahasa yang kuat di bidang komputer, terutama pada lingkungan Web. Dengan sebuah program di Java, Anda bisa mendapatkannya berjalan di hampir sistem komputasi. Aku tidak akan sejauh ini untuk teknis Java … tetapi dengan menggunakan “uap api”, perancang telah ditransfer kepada kita kekuatan bahasa Java. Selain itu, api adalah cahaya merah yang berarti kegembiraan, gairah berarti bahwa Anda sebagai seorang programmer atau pengguna dapat menemukan kebahagiaan dengan aplikasi yang ditulis dalam bahasa ini.
  
        Tentang tipografi, hanya ada satu kata Java . Desainer menggunakan sans-serif daripada serif untuk kata ini. Alasan untuk ini adalah bahwa logo Java kebanyakan akan muncul di layar komputer, san-serif font dapat mengakibatkan efek dari kurang berkedip-kedip-font serif. Untuk perangkat PDA, logo bahkan mungkin sangat kecil di atas kiri atau kanan bawah dari layar, kami tidak dapat mengenali kata Java kalau font serif dalam situasi seperti itu.