Thursday, February 5, 2015

Linked List

Linked List adalah sekumpulan elemen bertipe sama yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian. Struktur berupa rangkaian elemen saling berkait dimana setiap elemen dihubungkan elemen lain melalui pointer (alamat elemen). Penggunaan pointer untuk mengacu elemen berakibat elemen-elemen bersebelahan secara logik, walau tidak bersebelahan secara fisik di memori.

Bentuk Umum linked list :
typedef struct telmtlist
        {
           infotype info;
           address next;
        } 
Infotype : sebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list.
Next : address dari elemen berikutnya (suksesor)

Jika L adalah list, dan P adalah address, maka alamat elemen pertama list L dapat diacu dengan notasi : first (L)
Sebelum digunakan harus dideklarasikan terlebih dahulu : #define first (L) (L) Elemen yang diacu oleh P dapat dikonsultasi informasinya dengan notasi : info (P) deklarasi #define info (P) (P) - info
Next (P) deklarasi #define next (P) (P) - next Beberapa definisi :
  1. List 1 adalah kosong, jika First(L)=Nil.
  2. Elemen terakhir dikenali, dengan salah satu cara adalah karena Next(Last)=Nil. Nil adalah pengganti Null, perubahan ini dituliskan dengan #define Nil Null.
Single Linked List
Setiap node memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian, dengan demikian hanya diperlukan sebuah variable pointer. Susunan berupa untaian semacam ini disebut Single Linked List (NULL memiliki nilai khusus yang artinya tidak menunjuk ke mana-mana, biasanya Linked List pada titik akhirnya akan menunjuk ke NULL).

Pembuatan Single Linked List dapat menggunakan 2 metode :
  1. LIFO (Last In First Out), aplikasinya: Stack (tumpukan)
  2. FIFO (First In First Out), aplikasinya: Queue (antrian)
Double Linked List
Salah satu kelemahan Single Linked List adalah pointer hanya dapat bergerak satu arah saja, maju/mundur, kanan/kiri, sehingga pencarian data pada Single Linked List hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan tersebut, dapat menggunakan metode Double Linked List. Linked List ini dikenal dengan nama Linked List berpointer ganda atau Double Linked List.

Circular Double Linked List
Circular double linked list Merupakan Double Linked List yang simpul terakhirnya menunjuk ke simpul terakhirnya menunjuk ke simpul awalnya menunjuk ke simpul akhir, sehingga membentuk suatu lingkaran.


Read More

Wednesday, February 4, 2015

Linux Mepis

Sejarah
MEPIS yang dibuat oleh Warren Woodford, pertama kali dirilis pada tanggal 10 Mei 2003. Warren membuat MEPIS karena dia ingin mencari alternatif lain dari SuSE, Red Hat Linux maupun Mandriva, yang menurut pendapatnya masih terasa sulit digunakan oleh user. Sejak itulah Warren mulai mendevelop sebuah distro baru yang dapat digunakan dengan mudah oleh user, yang akhirnya terciptalah MEPIS.

Menurut Warren Woodford, nama MEPIS diucapkan seperti “Memphis”, dengan huruf tambahan yang dihapus. Awalnya, kata “MEPIS” tidak berarti apa-apa pada khususnya, melainkan terjadi karena kesalahan. Ketika Woodford disalahpahami teman melalui telepon, ia memutuskan untuk menggunakan nama itu karena itu adalah kata lima huruf sederhana dan tidak ada perusahaan lain atau produk dengan nama yang sama.


Perkembangan 
Pada tahun 2006, MEPIS membuat transisi dari menggunakan paket Debian untuk menggunakan paket Ubuntu. SimplyMEPIS 6.0, dirilis pada bulan Juli 2006, adalah versi pertama dari MEPIS untuk menggabungkan paket Ubuntu dan repositori.

SimplyMEPIS 7.0 menghentikan penggunaan paket binary Ubuntu mendukung kombinasi MEPIS dikemas binari berdasarkan Debian dan Ubuntu kode sumber, dikombinasikan dengan inti yang stabil Debian OS dan paket tambahan dari kolam paket Debian.

Warren Woodford merilis kode sumber untuk Installer MEPIS dan Asisten Sistem MEPIS di bawah Lisensi Apache, pada musim semi tahun 2008. Rilis utama terjadi sekitar enam bulan sampai satu tahun terpisah, sebagian besar didasarkan pada ketersediaan Warren untuk menghasilkan versi berikutnya.

MEPIS kini memiliki tim repo yang berusaha untuk menjaga paket up to date antara rilis, dengan mempertahankan ‘Repositori Community’ yang terpisah dari paket berbagai aplikasi, dan telah menjadi pemain utama dengan memproduksi karya seni dan dokumentasi untuk setiap rilis.



Read More

Pengertian & Konsep CSS

Pengertian CSS
       
        Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup. Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).

       CSS digunakan oleh penulis maupun pembaca halaman web untuk menentukan warna, jenis huruf, tata letak, dan berbagai aspek tampilan dokumen. CSS digunakan terutama untuk memisahkan antara isi dokumen (yang ditulis dengan HTML atau bahasa markup lainnya) dengan presentasi dokumen (yang ditulis dengan CSS). Pemisahan ini dapat meningkatkan aksesibilitas isi, memberikan lebih banyak keleluasaan dan kontrol terhadap tampilan, dan mengurangi kompleksitas serta pengulangan pada stuktur isi.

       CSS memungkinkan halaman yang sama untuk ditampilkan dengan cara yang berbeda untuk metode presentasi yang berbeda, seperti melalui layar, cetak, suara (sewaktu dibacakan oleh browser basis-suara atau pembaca layar), dan juga alat pembaca braille. Halaman HTML atau XML yang sama juga dapat ditampilkan secara berbeda, baik dari segi gaya tampilan atau skema warna dengan menggunakan CSS.

       Untuk pengertian bebasnya, CSS adalah kumpulan kode program yang digunakan untuk mendesain atau mempercantik tampilan halaman HTML. Dengan CSS kita bisa mengubah desain dari text, warna, gambar dan latar belakang dari (hampir) semua kode tag HTML.

       CSS biasanya selalu dikaitkan dengan HTML, karena keduanya memang saling melengkapi. HTML ditujukan untuk membuat struktur, atau konten dari halaman web. Sedangkan CSS digunakan untuk tampilan dari halaman web tersebut. Istilahnya, “HTML for content, CSS for Presentation”.

Keuntungan Menggunakan CSS:
  1. CSS memberikan keseragaman pada halaman web.
  2. Dengan CSS dapat menghemat banyak waktu dan pekerjaan berulang. Saat menggunakan CSS, perubahan tidak perlu dilakukan dalam setiap halaman web. Anda hanya perlu membuat perubahan dalam style sheet.
  3. CSS memungkinkan Anda untuk memuat halaman web Anda dengan mudah.
  4. Layers (Lapisan), seperti item pop-up, dapat digunakan dalam dokumen.
  5. CSS membantu Anda memelihara halaman web Anda dengan mudah dan efektif. 
Satuan Dalam CSS:

1. Statik
in -- satuan inchi
cm -- satuan centimeter
mm -- satuan milimeter
pt -- satuan point (1point = 1/72 inchi)
pc -- satuan pica (1pica = 12 point)
px -- satuan pixel (satu titik gambar terkecil dalam layar monitor)
2. Relatif
% -- satuan persen
em -- atau ems (1em = ukuran font yang tengah ada dalam elemen)
ex -- 1ex = x-height suatu font (x-height biasanya setengah ukuran font)

Ada 3 cara untuk memasang CSS pada dokumen HTML yaitu:
  1.  External Style Sheet (file CSS berbeda dari file HTML),
  2.  Internal Style Sheet (Kode CSS dipasang di dalam tag head HTML)
  3.  Inline Style Sheet (Kode CSS langsung dipasang di tag HTML, tidak direkomendasikan).

Konsep CSS

1. Inheritance
Inheritance pada CSS dapat diartikan; Jika kita memberikan style pada suatu elemen maka elemen turunannya akan mengikuti stylenya, kecuali elemen turunan tersebut diberikan style tersendiri yang mengatur hal yang sama.

2. Selector Contextual
Contextual Selector ini merupakan suatu istilah di mana pendefinisian CSS yang terjadi akan menjadi lebih spesifik. Istilah ini yang sering kita sebut sebagai tag/selector anak.Pada penggunaan CSS, diperbolehkan menambahkan Contextual Selector seberapapun yang kita inginkan. Untuk menuliskannya, cukup menambahkan spasi pada sebuah tag yang dituju, lalu menambahkan sebuah selector/tag anak yang diinginkan.

3. Class Selector
Class Selector akan ‘mencari’ seluruh tag yang memiliki atribut class dengan nilai yang sesuai. Untuk penggunaan Class Selector, kita harus memiliki tag HTML yang mempunyai atribut class.

4. Id Selector
Penggunaan Id Selector hampir sama dengan Class Selector, dengan perbedaan jika pada Class Selector kita menggunakan atribut class untuk tag HTML, untuk ID selector, kita menggunakan atribut id.

Perbedaan setiap konsep:
Konsep pewarisan mengatur setiap elemen dengan tampilan yang sama harus dipisah satu persatu sedangkan konsep kontekstual dapat digabungkan seperti gambar diatas. Dan pada konsep kelas untuk mengatur isi, elemen harus diisi class dan pemanggilan serta css diawali tanda titik sedangkan pada konsep id bedanya elemen kelas ganti dengan id dan diawali tanda pagar.

Kelebihan & kekurangan:
Konsep pewarisan banyak menggunakan css padahal untuk tampilan yang sama dan kurang efisien dibanding dengan konsep kontekstual yang menggabungkan setiap elemen dalam satu css. Sedangkan konsep kelas dan id adalah sama. Intinya, konsep kontekstual, kelas dan id lebih efisien dibanding konsep pewarisan.



Read More

Program Sistem Bilangan Dalam Bahasa C

     Setelah sebelumnya saya memposting Program Gerbang Logika dalam Bahasa C, maka pada postingan ini saya akan menunjukkan kode program untuk membuat Sistem Bilangan dalam Bahasa C, this is it !

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<windows.h>
main()
{
int d,i,c,a,e,f;
char h;
awal:
system("cls");
SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE),11);
printf("\n\t");
for(f=0;f<=60;f++){printf("%c",6);}
printf("\n\t");
for(f=0;f<=60;f++){printf("%c",219);}
printf("\n\t");
for(f=0;f<=60;f++){if (f==0||f==59){printf("%c",219);}printf(" ");}
printf("\n\t%c                %c  KONVERSI SISTEM BILANGAN %c              %c\n\t",219,2,2,219);
for(f=0;f<=60;f++){if (f==0||f==59){printf("%c",219);}printf(" ");}
printf("\n\t%c \t           %c TEKNIK INFORMATIKA 1A %c                %c\n\t",219,3,3,219);
for(f=0;f<=60;f++){if (f==0||f==59){printf("%c",219);}printf(" ");}
printf("\n\t%c \t                %c DIDIK SAZALI %c                    %c\n\t",219,5,5,219);
for(f=0;f<=60;f++){if (f==0||f==59){printf("%c",219);}printf(" ");}
printf("\n\t");
for(f=0;f<=60;f++){printf("%c",219);}
printf("\n\t        %c                 %c PILIHAN %c                %c",219,15,15,219);
printf("\n\t        %c 1. Biner = Desimal, Oktal dan Heksadesimal %c\n",219,219);
printf("\t        %c 2. Desimal = Oktal, Heksadesimal dan Biner %c\n",219,219);
printf("\t        %c 3. Oktal = Desimal, Heksadesimal dan Biner %c\n",219,219);
printf("\t        %c 4. Heksadesimal = Desimal, Oktal dan Biner %c",219,219);
printf("\n            \t");
for(f=0;f<=45;f++){printf("%c",219);}
printf("\n\n Hanya Untuk Bilangan Bulat Bukan Untuk Pecahan !\n");
printf("\n Bilangan Biner \t\t= Angka 1 dan 0\n Bilangan Desimal         \t= Angka 0,1,2,3,4,5,6,7,8 dan 9");
printf("\n Bilangan Oktal \t\t= Angka 0,1,2,3,4,5,6 dan 7");
printf("\n Bilangan Heksadesimal  \t= Angka 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F");
printf("\n\n Masukkan Angka Pilihan Anda (1/2/3/4) = ");
scanf("%d",&e);
if(e==1)
{printf("\n 1. Masukkan Bilangan BINER (max 10 bit) = ");
scanf("%d",&d);
desimal(d);
printf("\n\n");
oktal(d);
printf("\n\n");
heksa(d);
printf("\n\n");
printf(" Apakah anda ingin mengulang <Y/N>= ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir;}
if(e==2){
printf("\n 2. Masukkan Bilangan DESIMAL = ",1);
scanf("%d",&i);
printf("\n    =%cBilangan Oktal \t\t= %o",16,i);
printf("\n\n    =%cBilangan Heksadesimal \t= %x",16,i);
printf("\n\n    =%cBilangan Biner \t\t= ",16);
for(a=0;a<=15;a++)
{c=i%2;
i=i/2;
printf("%d",c);}
printf("    (Dari Kanan ke Kiri)");
printf("\n\n Apakah anda ingin mengulang <Y/N>= ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir;}
if(e==3)
{printf("\n 3. Masukkan Bilangan OKTAL = ");
scanf("%o",&i);
printf("\n    =%cDesimalnya adalah\t\t= %d",16,i);
printf("\n\n    =%cBilangan Heksadesimal\t= %x",16,i);
printf("\n\n    =%cBilangan Biner \t\t= ",16);
for(a=0;a<=15;a++)
{c=i%2;
i=i/2;
printf("%d",c);}
printf("    (Dari Kanan ke Kiri)");
printf("\n\n Apakah anda ingin mengulang <Y/N>= ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir;}
if(e==4)
{printf("\n 4. Masukkan Bilangan HEKSADESIMAL = ");
scanf("%x",&i);
printf("\n    =%cBilangan Desimal\t\t= %d",16,i);
printf("\n\n    =%cBilangan Oktal\t\t= %o",16,i);
printf("\n\n    =%cBilangan Biner\t\t= ",16);
for(a=0;a<=15;a++)
{c=i%2;
i=i/2;
printf("%d",c);}
printf("    (Dari Kanan ke Kiri)");
printf("\n\n Apakah anda ingin mengulang <Y/N>= ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }
if (e>=5)
 printf("\n Maaf, Pilihan Anda Salah");
if (e<=0)
 printf("\n Maaf, Pilihan Anda Salah");{
printf("\n\n Apakah anda ingin mengulang <Y/N>= ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir;}
akhir:
{printf("\n\n\t      ");
for(f=0;f<=50;f++){printf("%c",2);}
printf("\n\t     %c ^_^ TERIMAKASIH TELAH MENGGUNAKAN PROGRAM INI ^_^ %c",1,1);
printf("\n\t     %c        SEMOGA BERMANFA'AT BY DIDIK SAZALI         %c",2,2);
printf("\n\t      ");
for(f=0;f<=50;f++){printf("%c",1);}}
printf("\n\n");
getch();
}
int desimal(int d)
{
int e,f,g,h;
h=0;
for(e=0;e<=35;e++)
{ f=d%10;
d=d/10;
g=f*pow(2,e);
h=h+g;}
printf("\n    =%cBilangan Desimal\t\t= %d ",16,h);
}
int oktal(int d)
{
int e,f,g,h,a,b;
h=0;
printf("    =%cBilangan Oktal\t\t= ",16);
for(a=0;a<=10;a++)
{ b=d%1000;
for(e=0;e<=35;e++)
{ f=b%10;
b=b/10;
g=f*pow(2,e);
h=h+g;}
d=d/1000;
printf("%d",h);
h=0;}
printf("    (Dari Kanan ke Kiri)");
}
int heksa(int d)
{
int e,f,g,h,a,b;
h=0;
printf("    =%cBilangan Heksadesimal\t= ",16);
for(a=0;a<=10;a++)
{ b=d%10000;
for(e=0;e<=35;e++)
{ f=b%10;
b=b/10;
g=f*pow(2,e);
h=h+g;}
d=d/10000;
if(h==10)
{
printf("A");
}
else if(h==11)
{
printf("B");
}
else if(h==12)
{
printf("C");
}
else if(h==13)
{
printf("D");
}
else if(h==14)
{
printf("E");
}
else if(h==15)
{
printf("F");
}
else
printf("%d",h);
h=0;}
printf("    (Dari Kanan ke Kiri)");
}
Read More

Program Gerbang Logika Dalam Bahasa C

Pada postingan kali ini, saya sengaja memberikan sebuah program dari Program Bahasa C. Program tersebut saya buat untuk menyelesaikan tugas saya dalam mata kuliah Rangkaian Logika yaitu tentang Gerbang Logika. Berikut kodenya, semoga bermanfa'at.

#include<stdio.h>
#include<conio.h>
#include<windows.h>
int main()
{
int a,b,c,d,x,f,e;
char h;
awal:
system("cls");
SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE),11);

{printf("\n\n\t     ");
for(f=0;f<=51;f++){printf("%c",30);}
printf("\n\t    %c              ^_^ PROGRAM BAHASA C ^_^              %c",17,16);
printf("\n\t    %c                 %c GERBANG LOGIKA %c                 %c",17,15,15,16);
printf("\n\t    %c                      %c OLEH %c                      %c",17,18,18,16);
printf("\n\t    %c                  %c DIDIK SAZALI %c                  %c",17,14,14,16);
printf("\n\t     ");
for(f=0;f<=51;f++){printf("%c",31);}}

{
printf("\n\n 1. AND GATE");
printf("\n 2. OR GATE");
printf("\n 3. NOT GATE");
printf("\n 4. NAND GATE");
printf("\n 5. NOR GATE");
printf("\n 6. EX-OR GATE");
printf("\n 7. EX-NOR GATE");
printf("\n\n Masukkan Pilihan Anda : ");
scanf("\n%d",&x);

if (x>=8){
printf("\n Maaf, Pilihan Anda Salah");
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir;} 
if (x<=0){
printf("\n Maaf, Pilihan Anda Salah");
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir;}

switch (x)
{
case 1:
{
printf("\n AND GATE\n");
printf("\n Masukkan Nilai Input Pertama [0/1] : ");
scanf("\n%d",&a);
printf("\n Masukkan Nilai Input Kedua  [0/1] : ");
scanf("\n%d",&b);
if(a==1&&b==1)
{ printf("\n Hasil Keluaran %d dan %d = 1",a,b);}
else
printf("\n Hasil Keluaran %d dan %d = 0",a,b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

case 2:
{
printf("\n OR GATE\n");
printf("\n Masukkan Nilai Input Pertama [0/1] : ");
scanf("\n%d",&a);
printf("\n Masukkan Nilai Input Kedua [0/1] : ");
scanf("\n%d",&b);
if(a==1||b==1)
printf("\n Hasil Keluaran %d dan %d = 1",a,b);
else
printf("\n Hasil Keluaran %d dan %d = 0",a,b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

case 3:
{
printf("\n NOT GATE\n");
printf("\n Masukkan Nilai Input [0/1] : ");
scanf ("\n%d", &b);
if (b==1)
printf("\n Hasil dari %d adalah 0", b);
else
printf("\n Hasil dari %d adalah 1", b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

case 4:
{
printf("\n NAND GATE\n");
printf("\n Masukkan Nilai Input Pertama [0/1] : ");
scanf("\n%d",&a);
printf("\n Masukkan Nilai Input Kedua  [0/1] : ");
scanf("\n%d",&b);
if(a==1&&b==1)
printf("\n Hasil Keluaran dari %d dan %d = 0",a,b);
else
printf("\n Hasil Keluaran dari %d dan %d = 1",a,b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

case 5:
{
printf("\n NOR GATE\n");
printf("\n Masukkan Nilai Input Pertama [0/1] : ");
scanf("\n%d",&a);
printf("\n Masukkan Nilai Input Kedua [0/1] : ");
scanf("\n%d",&b);
if(a==1||b==1)
printf("\n Hasil Keluaran dari %d dan %d = 0",a,b);
else
printf("\n Hasil Keluaran dari %d dan %d = 1",a,b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

case 6:
{printf("\n EX-OR GATE\n");
printf("\n Masukkan Nilai Input Pertama [0/1] : ");
scanf("\n%d",&a);
printf("\n Masukkan Nilai Input Kedua [0/1] : ");
scanf("\n%d",&b);
if(a==b)
printf("\n Hasil Keluaran %d dan %d = 0",a,b);
else
printf("\n Hasil Keluaran %d dan %d = 1",a,b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

case 7:
{printf("\n EX-NOR GATE\n");
printf("\n Masukkan Nilai Input Pertama [0/1] : ");
scanf("\n%d",&a);
printf("\n Masukkan Nilai Input Kedua [0/1] : ");
scanf("\n %d",&b);
if(a==b)
{ printf("\n Hasil Keluaran %d dan %d = 1",a,b);}
else
printf("\n Hasil Keluaran %d dan %d = 0",a,b);
}
{
printf("\n\n Apakah Anda Ingin Mengulang <Y/N> ? = ");scanf("%s",&h);
if(h=='Y'||h=='y') goto awal; else goto akhir; }

akhir:
{printf("\n\n\t     ");
for(f=0;f<=50;f++){printf("%c",2);}
printf("\n\t    %c ^_^ TERIMAKASIH TELAH MENGGUNAKAN PROGRAM INI ^_^ %c",1,1);
printf("\n\t    %c        SEMOGA BERMANFA'AT BY DIDIK SAZALI         %c",2,2);
printf("\n\t     ");
for(f=0;f<=50;f++){printf("%c",1);}}
printf("\n\n");
getch();
}
}
}
Read More

Manajemen User & Group Linux

Ubuntu merupakan sebuah sistem operasi yang dikembangkan dengan tujuan menjadi server. Berdasarkan fungsinya sebagai server, Ubuntu memiliki kemampuan menangani hak akses yang berkaitan dengan user pada sistem komputer tersebut. Ubuntu juga memiliki kemampuan untuk mengelompokkan beberapa user ke dalam group-group yang berbeda. Pengelompokan user dapat dianalogikan dengan beberapa karyawan yang memiliki tugas berbeda. Setiap karyawan akan dipimpin oleh seorang kepala bagian. Bagian khusus itulah yang dinamakan group.

Dalam pengaturan user, kita dapat melakukan pengaturan seperti penambahan, penghapusan, maupun pengelompokan user baru dengan menggunakan root (#) atau super user (su). Jadi, jika kita bertindak sebagai user biasa, kita tidak dapat menciptakan atau menghapus user baru.

1. Membuat User
Struktur perintah yang digunakan adalah:

adduser [nama user] atau useradd [nama user]

Contoh:
adduser ucok

Keterangan:
Adduser : perintah untuk membuat user baru.
Useradd : perintah untuk membuat user baru tapi tidak ada password dan folder (disable user).
Nama user : nama user yang akan dibuat.

2. Menghapus User
Struktur perintah yang digunakan adalah:

userdel -r user

Contoh:
userdel -r ucok

Keterangan:
Userdel : perintah untuk menghapus user yang telah ada
-r : untuk menghapus direktori kerja user bersangkutan
User : nama user yang akan dihapus

3. Membuat Group Baru
Struktur perintah yang digunakan adalah:

groupadd [nama group] atau addgroup [nama group]

Contoh:
groupadd ti

4. Mengganti Nama Group
Struktur perintah yang digunakan adalah:

groupmod -n group_baru group_lama

Contoh:
groupmod -n teknikinformatika ti

Keterangan:
Groupmod : perintah untuk memodifikasi nama group
-n : opsi yang digunakan untuk mengganti nama
Group_baru : nama group baru yang akan digunakan untuk mengganti group lama
Group_lama : nama group lama yang akan digantikan oleh nama group baru

5. Merubah Nomor ID Group
Struktur perintah yang digunakan adalah:

groupmod -g id_baru nama_group

Contoh:
groupmod -g 711 teknikinformatika

Keterangan:
Groupmod : perintah untuk memodifikasi group
-g : pilihan untuk menggunakan id group
Id_baru : nomor ID yang baru untuk group yang bersangkutan
Nama_group : nama group yang akan dirubah IDnya

6. Memasukkan/Memindahkan User Pada Group
Struktur perintah yang digunakan adalah:

usermod -G nama_group user

Contoh:
usermod -G teknikinformatika budi
Perintah di atas juga bisa digunakan untuk memindahkan user budi ke group teknikinformatika jika user budi sudah ada di group lain.

Keterangan:
Usermod : perintah untuk memodifikasi group
-G : pilihan yang menyatakan akan menggunakan nama group
-a : pilihan untuk menambahkan user ke beberapa group
Nama_group : nama group yang akan dimodifikasi
User : nama user yang akan dimasukan dalam group

Jika ingin membuat user baru dan langsung memasukkan kedalam group bisa menggunakan perintah:

useradd user -G nama_group

Contoh:
useradd andi –G teknikinformatika

Jika ingin menambah 1 user ke beberapa group maka bisa menggunakan perintah:

usermod -a -G nama_group1,…,nama_groupN user

Contoh:
usermod -a -G ti-a,ti-b,ti-c budi
berarti budi dimasukkan kedalam group ti-a, ti-b dan ti-c

7. Mengeluarkan User Dari Group
Struktur perintah yang digunakan adalah:

gpasswd -d user nama_group

Contoh:
gpasswd -d andi teknikinformatika

Keterangan:
Gpasswd : perintah yang digunakan untuk mengeluarkan user dari group
-d : pilihan untuk menghapus keanggotaan
User : user yang akan dikeluarkan dari group
Nama_group : nama group tempat nama user sekarang berada

8. Menghapus Group
Struktur perintah yang digunakan adalah:

groupdel nama_group

Contoh:
groupdel teknikinformatika

cat /etc/passwd : untuk melihat daftar user
cat /etc/group : untuk melihat daftar group
Read More

Hak Akses Direktori & File Linux

Pengaturan hak akses dan hak kepemilikan dapat dilakukan oleh siapa saja, baik oleh user maupun super user. Seorang user dapat melakukan pengaturan hak akses dan hak kepemilikan pada folder dan dokumennya sendiri, akan tetapi tidak dapat melakukan pengaturan pada dokumen user lain.

Seorang super user berbeda dengan user biasa. Sebagai super user dapat melakukan apa saja terhadap file dan dokumen yang ada pada sistem, termasuk user-user didalamnya. Intinya, pengaturan hak akses dan hak milik dapat dilakukan oleh super user maupun oleh user biasa.

1. Mengatur Hak Akses
Untuk melakukan perubahan hak akses file (permission file) atau izin akses terhadap suatu file dan direktori dapat menggunakan perintah chmod.

Dalam pengaturan hak akses, Ubuntu memiliki beberapa criteria yang dapat dijelaskan sebagai berikut:
d : pengenal file berupa direktori
- : pengenal file berupa file
l : pengenal file berupa hyperlink
r : artinya hak akses read atau membaca, jadi objek hanya boleh dibaca
w : artinya hak write atau menulis
x : artinya execute atau eksekusi

Keterangan:
1 : Digunakan untuk memberikan pengenal pada file. d: direktori, -: file, l: hyperlink
2, 3 dan 4 : Hak akses untuk user, r: baca, w: tulis, x: eksekusi
5, 6 dan 7 : Hak akses untuk group, r: baca, w: tulis, x: eksekusi
8, 9 dan 10 : Hak akses untuk user dan group lain, r: baca, w: tulis, x: eksekusi

Perintah pengaturan hak akses sebagai berikut:

chmod [option] [mode] nama file

Option:
Pilihan untuk melakukan perubahan hak akses kepada siapa, antara lain:
u : hak akses pada user
g : hak akses pada group
o : hak akses pada user dan group lain

Mode:
pilihan yang akan dikerjakan terhadap hak akses dan direktori yang telah ada dengan menggunakan:
+ : menambahkan hak akses pada file dan direktori
- : menghilangkan hak akses pada file dan direktori

Nama file:
File yang akan dirubah hak aksesnya.

Contoh:
chmod u+w data.txt, artinya menambah hak menulis kepada user
chmod g-w data.txt, artinya menghilangkan hak menulis kepada group

Perintah untuk melihat file dan direktori:

ls -l

2. CHMOD Menggunakan Nilai Heksadesimal
Pada perintah chmod sebelumnya ada beberapa pilihan dalam memasang hak akses, tetapi ada cara
yang lebih mudah dan ringkas yaitu dengan cara menggantikan beberapa pernyataan u, g dan o
dengan nilai heksadesimal. Perintah yang digunakan adalah:

chmod nilai namafile

nilai: [user] [group] [other]

Teknik penentuan nilai dan penggunaannya dapat dianalogikan sebagai berikut:
User     Group    Other
r W x    r W x     r w x
4 2 1      4 2 1      4 2 1

Keterangan:
x : kondisi eksekusi mempunyai nilai heksadesimal 1
w : kondisi write mempunyai nilai heksadesimal 2
r : kondisi read mempunyai nilai heksadesimal 4

Contoh:
chmod 754 data.txt

Dari contoh di atas nilai 7 merupakan hak akses untuk user dimana r+w+x = 4+2+1 = 7 (bisa baca, tulis dan eksekusi). Nilai 5 merupakan hak akses untuk group dimana r+w+x = 4+0+1 = 5 (bisa baca dan eksekusi). Nilai 4 merupakan hak akses untuk other dimana r+w+x = 4+0+0 = 4 (bisa baca saja)

Sebagai referensi tambahan supaya dapat melihat beberapa nilai yang sering digunakan pada perintah chmod:
--- : nilainya 0
--x : nilainya 1
-w- : nilainya 2
-wx : nilainya 3
r-- : nilainya 4
r-x : nilainya 5
rw- : nilainya 6
rwx : nilainya 7

3. Mengatur Hak Kepemilikan
Selain mengatur hak akses, ubuntu juga memiliki hak kepemilikan. Hak kepemilikan ini akan sangat berguna untuk mengelola siapa saja yang dapat menggunakan file atau folder. Perintah yang digunakan untuk melakukan perubahan hak kepemilikan adalah chown, cara penulisannya adalah sebagai berikut:

chown user [: group] nama file

chown : perintah untuk mengelola hak kepemilikan
user     : nama user yang dipasang pada file atau folder
:          : penghubung apabila ingin melakukan perubahan terhadap user dan group
group  : nama group yang akan dipasang pada file atau folder
nama file : nama file yang akan dilakukan perubahan

Contoh:
chown andi data.txt, artinya mengganti pemilik file kepada user andi
chown andi:ti data.txt, artinya menggantik pemilik file kepada user andi dan group ti
Read More
Copy Rights 2013 PlanetX86