Kali ini chino akan membagikan bagaimana cara mendownload atau menconvert videro di youtube ke MP3 secara gratis tanpa software.
Caranya gampang kalian hanya perlu copy link URL nya dan kalian paste di sini
Saturday, December 26, 2015
Monday, December 14, 2015
Tidak bisa Update Linux Lewat Terminal
Kayak gini gan pesan errornya ,, Tenang jangan kuatir ga perlu install ulang kok,, ada jalan keluarnya
Tulis di terminal : sudo rm /var/lib/apt/lists/lock
Beres dahhh :)
Tulis di terminal : sudo rm /var/lib/apt/lists/lock
Beres dahhh :)
Sunday, December 6, 2015
Clash of Clans Ada Filmnya
yeee,,, Clash of Clans sekarang ada filmnya, tapi masih trailler nih semoga beneran dibuat yah film Clash of Clans.. jadi ceritanya sebuah rumah produksi asal Amerika yang bernama Bellpond Film
s membuat sebuah trailer yang bertema Clash of Clans pada video ini hampir semua karakter ada, dan diperankan oleh manusia beneran (ciiaaaaa ... :v)
Buat yang penasaran gimana sih filmnya silakan ditonton guys
Thursday, November 26, 2015
Binary Tree Search
Yooootttt, seperti yang kita tahu bahwa metode search (pencarian data) ada bermacam-macam, seperti double link list search dan array search, namun pada kesempatan kali ini saya akan membagikan source salah satu metode pencarian. Metode pencarian yang saya pakai kali ini adalah binary tree search, karena menurut saya cara ini adalah cara yang paling efektif.
Berikut ini adalah source code nya:
package binarytree;
class Node {
Node left;
Node right;
Node parent;
int data;
}
public class BinaryTree {
static Node root;
static void insert(int data){
// buat node baru
Node new_node = new Node();
new_node.data = data;
if(root == null){ // tree kosong
root = new_node;
}else{
Node position = root;
boolean found = false;
while(!found){
if(new_node.data < position.data){
if(position.left == null){
found = true;
new_node.parent = position;
position.left = new_node;
}else{
position = position.left;
}
}else{
if(position.right == null){
found = true;
new_node.parent = position;
position.right = new_node;
}else{
position = position.right;
}
}
}
}
}
static void view(){
node_view(root, "");
}
static void node_view(Node node, String spaces){
if(node == null){
System.out.println(spaces + "EMPTY");
}else{
System.out.println(spaces + node.data);
node_view(node.left, spaces+" ");
node_view(node.right, spaces + " ");
}
}
static void postfix (Node localroot){
if(localroot != null){
System.out.print("(");
postfix(localroot.left);
postfix(localroot.right);
System.out.print(" "+localroot.data+" ");
System.out.print(")");
}
}
static void delete(int deleted){
boolean found = false;
Node x = root;
while(x != null){
if(x.data == deleted){
found = true;
break;
}else if(x.left != null && deleted < x.data){
x = x.left;
}else if(x.right != null && deleted > x.data){
x = x.right;
}else{
found = false;
break;
}
}
if(!found){
// do nothing, node not found
}else{
boolean is_root = x.parent == null;
boolean is_right = !is_root && x == x.parent.right;
boolean is_left = !is_root && x == x.parent.left;
// jika tidak punya anak
if(x.left == null && x.right == null){
if(is_root){ // tdk punya anak & adalah root
root = null;
}else{ // tdk punya anak & bukan root
if(is_left){ // tdk punya anak & adalah anak kiri
x.parent.left = null;
}else if(is_right){ // tdk punya anak & adalah anak kanan
x.parent.right = null;
}
x.parent = null; // putuskan hubungan dengan parent
}
}else if(x.left != null && x.right == null){ // hanya punya anak kiri
if(is_root){
root = x.left;
root.parent.left = null;
root.parent = null;
}else{
if(is_left){
x.parent.left = x.left;
}else if(is_right){
x.parent.right = x.left;
}
x.left.parent = x.parent;
x.parent = null;
x.left = null;
}
}else if(x.left == null && x.right != null){ // hanya punya anak kanan
if(is_root){ // root
root = x.right;
root.parent.right = null;
root.parent = null;
}else{ // bukan root
if(is_left){
x.parent.left = x.right;
}else if(is_right){
x.parent.right = x.right;
}
x.right.parent = x.parent;
x.parent = null;
x.right = null;
}
}else{ // punya 2 anak
Node replacement = x.right; // kanan sekali
while(replacement.left != null){ // kiri sekiri-kirinya
replacement = replacement.left;
}
if(x != replacement.parent){
if(replacement.right != null){ // kalau replacement punya anak kanan
replacement.parent.left = replacement.right;
replacement.right.parent = replacement.parent;
}else{ // kalau replacement tidak punya anak
replacement.parent.left = null;
}
}else{
x.right = null;
}
// replace x
if(is_root){
replacement.parent = null;
root = replacement;
}else if(is_left){
replacement.parent = x.parent;
x.parent.left = replacement;
}else if(is_right){
replacement.parent = x.parent;
x.parent.right = replacement;
}
replacement.left = x.left;
replacement.right = x.right;
if(replacement.left != null){
replacement.left.parent = replacement;
}
if(replacement.right != null){
replacement.right.parent = replacement;
}
// hapus x dari tree
x.parent = null;
x.left = null;
x.right = null;
}
}
}
public static void main(String[] args) {
insert(5);
insert(7);
insert(6);
insert(8);
insert(2);
insert(4);
insert(1);
view();
delete(2);
view();
}
}
class Node {
Node left;
Node right;
Node parent;
int data;
}
public class BinaryTree {
static Node root;
static void insert(int data){
// buat node baru
Node new_node = new Node();
new_node.data = data;
if(root == null){ // tree kosong
root = new_node;
}else{
Node position = root;
boolean found = false;
while(!found){
if(new_node.data < position.data){
if(position.left == null){
found = true;
new_node.parent = position;
position.left = new_node;
}else{
position = position.left;
}
}else{
if(position.right == null){
found = true;
new_node.parent = position;
position.right = new_node;
}else{
position = position.right;
}
}
}
}
}
static void view(){
node_view(root, "");
}
static void node_view(Node node, String spaces){
if(node == null){
System.out.println(spaces + "EMPTY");
}else{
System.out.println(spaces + node.data);
node_view(node.left, spaces+" ");
node_view(node.right, spaces + " ");
}
}
static void postfix (Node localroot){
if(localroot != null){
System.out.print("(");
postfix(localroot.left);
postfix(localroot.right);
System.out.print(" "+localroot.data+" ");
System.out.print(")");
}
}
static void delete(int deleted){
boolean found = false;
Node x = root;
while(x != null){
if(x.data == deleted){
found = true;
break;
}else if(x.left != null && deleted < x.data){
x = x.left;
}else if(x.right != null && deleted > x.data){
x = x.right;
}else{
found = false;
break;
}
}
if(!found){
// do nothing, node not found
}else{
boolean is_root = x.parent == null;
boolean is_right = !is_root && x == x.parent.right;
boolean is_left = !is_root && x == x.parent.left;
// jika tidak punya anak
if(x.left == null && x.right == null){
if(is_root){ // tdk punya anak & adalah root
root = null;
}else{ // tdk punya anak & bukan root
if(is_left){ // tdk punya anak & adalah anak kiri
x.parent.left = null;
}else if(is_right){ // tdk punya anak & adalah anak kanan
x.parent.right = null;
}
x.parent = null; // putuskan hubungan dengan parent
}
}else if(x.left != null && x.right == null){ // hanya punya anak kiri
if(is_root){
root = x.left;
root.parent.left = null;
root.parent = null;
}else{
if(is_left){
x.parent.left = x.left;
}else if(is_right){
x.parent.right = x.left;
}
x.left.parent = x.parent;
x.parent = null;
x.left = null;
}
}else if(x.left == null && x.right != null){ // hanya punya anak kanan
if(is_root){ // root
root = x.right;
root.parent.right = null;
root.parent = null;
}else{ // bukan root
if(is_left){
x.parent.left = x.right;
}else if(is_right){
x.parent.right = x.right;
}
x.right.parent = x.parent;
x.parent = null;
x.right = null;
}
}else{ // punya 2 anak
Node replacement = x.right; // kanan sekali
while(replacement.left != null){ // kiri sekiri-kirinya
replacement = replacement.left;
}
if(x != replacement.parent){
if(replacement.right != null){ // kalau replacement punya anak kanan
replacement.parent.left = replacement.right;
replacement.right.parent = replacement.parent;
}else{ // kalau replacement tidak punya anak
replacement.parent.left = null;
}
}else{
x.right = null;
}
// replace x
if(is_root){
replacement.parent = null;
root = replacement;
}else if(is_left){
replacement.parent = x.parent;
x.parent.left = replacement;
}else if(is_right){
replacement.parent = x.parent;
x.parent.right = replacement;
}
replacement.left = x.left;
replacement.right = x.right;
if(replacement.left != null){
replacement.left.parent = replacement;
}
if(replacement.right != null){
replacement.right.parent = replacement;
}
// hapus x dari tree
x.parent = null;
x.left = null;
x.right = null;
}
}
}
public static void main(String[] args) {
insert(5);
insert(7);
insert(6);
insert(8);
insert(2);
insert(4);
insert(1);
view();
delete(2);
view();
}
}
Thursday, November 12, 2015
Sorting Menggunakan Order Link List Java
Pada postingan saya kali ini, saya akan mencoba membuat programm sorting sederhana dengan menggunakan bahasa pemrograman java. Bagi anda yang belum tahu apa itu link list bisa dilihat di sini.
Oke, langsung aja disedot gan source code nya :
Oke, langsung aja disedot gan source code nya :
Friday, October 2, 2015
Cara Agar Video di Facebook Tidak Memutar Sendiri
Buat agan-agan yang masih terikat dengan yang namanya kuota pasti kesel kan kok tiba-tiba video di beranda facebook mutar sendiri, pasti bakal nyedot banyak kuota tuh.. Tenanng kita punya solusinya :
1. Pertama masuk menu Setting yang ada submenu pojok kanan
1. Pertama masuk menu Setting yang ada submenu pojok kanan
2. Kalau sudah pilih tab
video kemudian turn off putar otomatisnyaNah, ternyata gampang kan gan :) semoga bermanfaat, selamat mencoba
Thursday, October 1, 2015
Istilah Penting Seputar Kampus
Ciiie anak 97' yang sekarang udah jadi mahasiswa, rasanya kurang sipp kalo kalian agan-agan mahasiswa baru generasi penerus bangsa ngga tau istilah-istilah penting seputar kampus. Pada post kali ini saya akan membagikan 6 istilah penting seputar kampus:
1. SKS
Kalo waktu masih SMA kan kita pelajarannya udah ditentuin sama p
ihak sekolah mau ambil pelajaran apa aja tahun ini, beda dengan anak kuliahan kita harus memilih sendiri semester ini mau ambil matakuliah/ pelajaran apa saja, juga dosen dan jadwal harus cepet-cepetan pilih yang enak.
2. Dosen Pembimbing / Dosen Wali
Setiap mahasiswa pasti punya satu dosen pembimbing yang tugasnya adalah untuk tanda tangan KRS (kertas yang berisi jadwal kuliah yang sudah kita ambil), curhat, tempat untuk konsultasi baik masalah pelajaran maupun administrasi),,,, tapi kalo dosen pembimbingnya cantik jangan dipacari yahh ,,, hehehhe
3. IP (Index Prestasi)
Index Prestasi itu sejenis nilai kita (rapor) waktu kita masih di SMA. Index prestasi sendiri ada 2 macam: Index Prestasi Semester untuk nilai per semester dan Index Prestasi Komulatif untuk rata-rata nilai IPS.
4. KTM (Kartu Tanda Mahasiswa)
Tanda bukti kalau kamu adalah mahasiswa aktif di kampus tersebut.
5. SP
Jangan salah presepsi yaa, SP itu singkatan dari Semester Pendek bukan Surat Peringatan. SP itu diberikan waktu mahasiswa ngga lulus matakuliah. Ga lulus matakuliah bisa disebabkan karena sering ga hadir, nilai jelek, dll. Perlu agan tau kalo harga SKS di SP itu harganya sekitar 2-4 kali lebih mahal daripada harga SKS biasa.
6. TA
Nah ini nih yang paling penting... Pengertian TA ada 2 macam: yang pertama Tugas Akhir, biasanya mahasiswa disuruh bikin project untuk tugas terakhirnya. Kalo TA yang satunya adalah Titip Absen, adalah suatu trik untuk bolos kuliah dengan cara titip teman untuk tanda tangan absensi kita agar terhitung hadir (cara ini sangatlah tidak recommended wkwkw ...)
Monday, September 21, 2015
Apa itu Queue ?
Nah, jika pada postingan sebelumnya saya sudah membahas mengenai apa itu stack ?, sekarang saya akan membahas mengenai apa yang dimaksud dengan queue.
Secara pengertian queue adalah antrian. Pengertian secara teknis nya queue adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung (dari tail) dan pengambilan data dilakukan dari ujung lainnya (head).
Berbeda dengan stack yang menggunakan prinsip LIFO (Last in First out), pada queue menggunakan prinsip FIFO
(First in First out).
Contoh penggunaannya dalam kehidupan nyata adalah misalnya kita sedang mengantri di rumah sakit / puskesmas untuk mendapatkan pelayanan medis, maka orang yang datang terlebih dahulu akan dilayani lebih dahulu dari pada yang datang setelahnya.
Contoh source code program queue:
Secara pengertian queue adalah antrian. Pengertian secara teknis nya queue adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung (dari tail) dan pengambilan data dilakukan dari ujung lainnya (head).
Berbeda dengan stack yang menggunakan prinsip LIFO (Last in First out), pada queue menggunakan prinsip FIFO
(First in First out).
Contoh penggunaannya dalam kehidupan nyata adalah misalnya kita sedang mengantri di rumah sakit / puskesmas untuk mendapatkan pelayanan medis, maka orang yang datang terlebih dahulu akan dilayani lebih dahulu dari pada yang datang setelahnya.
Contoh source code program queue:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#define MAX 10
typedef struct
{
char data[MAX];
char head;
char tail;
} Queue;
Queue antrian;
void Create()
{
antrian.head=antrian.tail=-1;
}
char IsEmpty()
{
if(antrian.tail==-1)
return 1;
else
return 0;
}
char IsFull()
{
if(antrian.tail==MAX-1) return 1;
else return 0;
}
void Enqueue(int data)
{
if(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<"Data "<<antrian.data[antrian.tail]<<" Masuk!!";
}
else if(IsFull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<"Data "<<antrian.data[antrian.tail]<<" Masuk!!";
}
else if (IsFull() == 1)
{
cout<<"Maaf, penuh"<<endl;
cout<<data<<" Data tidak masuk";
}
}
void Dequeue()
{
char i;
char e = antrian.data[antrian.head];
if (antrian.tail == -1)
{
cout<<"Data Kosong"<<endl;
}
else
{
for(i=antrian.head;i<=antrian.tail-1;i++)
{
antrian.data[i] = antrian.data[i+1];
}
antrian.tail--;
cout<<"Data yang Keluar lebih dulu = "<<e<<endl;
}
}
void Clear()
{
antrian.head=antrian.tail=-1;
cout<<"Data dihapus"<<endl;
}
void Tampil()
{
if(IsEmpty()==0)
{
cout<<"Data Dalam Antrian"<<endl;
cout<<"==========================="<<endl;
cout<<endl;
for(char i=antrian.head;i<=antrian.tail;i++)
{
cout<<"| "<<antrian.data[i]<<" |";
}
}
else cout<<"Data Kosong";
}
void main()
{
int pil;
char data;
Create();
do
{
clrscr();
cout<<"Queue data berupa String"<<endl;
cout<<"=================================="<<endl;
cout<<endl;
cout<<"1. Masukkan data"<<endl;
cout<<"2. Hapus data"<<endl;
cout<<"3. Cetak"<<endl;
cout<<"4. Hapus semua"<<endl;
cout<<"5. Keluar"<<endl;
cout<<"Pilihan Anda= "; cin>>pil;
switch(pil)
{
case 1:
{
cout<<endl;
cout<<"Data = "; cin>>data;
Enqueue(data);
break;
}
case 2:
{
cout<<endl;
Dequeue();
break;
}
case 3:
{
cout<<endl;
Tampil();
break;
}
case 4:
{
cout<<endl;
Clear();
break;
}
}
getch();
} while(pil!=5);
}
Eksekusi / Menjalankan Program Kursi Bioskop
Di postingan saya kali ini saya akan share cara menjalankan program perl yang sudah disimpan di notepad sebelumnya. Bagi yang belum punya programnya bisa di download di sini
Untuk mengeksekusi program ada 2 cara, silakan agan simak video saya berikut ini:
Thanks for Watching, semoga agan terbantu dengan video saya.... :)
Untuk mengeksekusi program ada 2 cara, silakan agan simak video saya berikut ini:
Thanks for Watching, semoga agan terbantu dengan video saya.... :)
Tuesday, September 15, 2015
Linklist in Perl
Haloo, kali ini saya akan menyambung postingan mengenai link list dari postingan sebelumnya di sini http://ngeblogapik.blogspot.co.id/2015/09/konsep-dasar-algoritma-link-list.html bagi yang belum tahu apa itu link list silakan dibuka dulu url di atas. Mohon agan baca dulu postingan saya yang sebelumnya supaya bisa nyambung sama yang sekarang ini gan :)
Kali ini akan saya share source code nya, monggo ....
$list = $tail = undef;
foreach (1..5) {
my $node = [ undef, $_ * $_ ];
$list = undef;
$tail = \$list; #tail linklist nya
foreach (1..5) {
my $node = [ undef, $_ * $_ ];
$$tail = $node; #tail = node setelah linklist terisi
$tail = \$node->[NEXT]; #isi linklist berikutnya
}
}
Kali ini akan saya share source code nya, monggo ....
$list = $tail = undef;
foreach (1..5) {
my $node = [ undef, $_ * $_ ];
$list = undef;
$tail = \$list; #tail linklist nya
foreach (1..5) {
my $node = [ undef, $_ * $_ ];
$$tail = $node; #tail = node setelah linklist terisi
$tail = \$node->[NEXT]; #isi linklist berikutnya
}
}
nah, terima kasih, semoga bermanfaat :)
Monday, September 14, 2015
Program Kursi Bioskop menggunakan Perl
Yo frenss, siapa yang di sini belum pernah nonton di bioskop ? Pasti sudah pernahkan... Sebelum agan masuk ke bioskop kan pasti harus beli tiket dulu di mbak-mbak kasir yang jaga, nah pada saat beli karcis pasti mbaknya yang cantik bilang "mau duduk di kursi yang mana mas ?" jangan sampai agan jawab "mau duduk di pelaminan sama kamuuhhh ...." :') pasti langsung dipanggilin security nya entar.
Kalau agan jeli, sebenarnya nomor-nomor yang ada pada kursi biskop itu merupakan sebuah array 2 dimensi yang disusun sedemikian rupa agar
mudah dipanggil.
Pengertian array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama.
Nah, pada kesempatan kali ini saya akan membagikan tutorial bagaimana cara membuat program sederhana untuk pemesanan kursi bioskop menggunakan bahasa pemrograman Perl, silakan disimak caranya :
1. Pertama, buka notepad
2. Kedua, silakan copy dan paste source code saya di bawah ini ke dalam notepad
@nomor = ([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]); #ini adalah deklarasi isi arraynya
for(;;){ #ini adalah fungsi untuk melakukan infinite loop
for($a=0;$a<6;$a=$a+1){ #dan ini adalah kondisi yang ingin diulang
for($b=0;$b<5;$b=$b+1){
print " [$nomor[$a][$b]] "; #hasil perulangan yang ingin ditampilkan (sampai bawah)
}print "\n";}
print "pesan nomor berapa ?\n"; #di sini untuk input mau pesan nomor berapa
$x = <>; #input dan deklarasi variabel
chomp($x);
if($x<=30 and $x>=1){ print "\n"; #pada program ini jumlah kursinya 30 jadi if nya seperti ini
if($x>=1 and $x<=5)
{
if($nomor[0][$x-1] == "X" ){print "SUDAH DIPESAN \n\n"} #apabila kursi sudah dipesan
$nomor[0][$x-1] = "X" ; #setelah kursi dipesan maka nomor akan berubah menjadi X
}
if($x>=6 and $x<=10)
{
if($nomor[1][$x-6] == "X" ){print "SUDAH DIPESAN \n\n"}
$nomor[1][$x-6]="X";
}
if($x>=11 and $x<=15)
{
if($nomor[2][$x-11] == "X" ){print "SUDAH DIPESAN \n\n"}
$nomor[2][$x-11]="X";
}
if($x>=16 and $x<=20)
{
if($nomor[3][$x-16] == "X" ){print "SUDAH DIPESAN \n\n"}
$nomor[3][$x-16]="X";
}
if($x>=21 and $x<=25)
{
if($nomor[4][$x-21] == "X" ){print "SUDAH DIPESAN \n\n"}
$nomor[4][$x-21]="X";
}
if($x>=26 and $x<=30)
{
if($nomor[5][$x-26] == "X" ){print "SUDAH DIPESAN \n\n"}
$nomor[5][$x-26]="X";
}}
else {print "\nKURSI TIDAK ADA \n\n";} #output apabila ada inputan yang bukan merupakan nomor kursi
}
3. Setelah disalin maka simpan file ini dalam bentuk .pl .mis: bioskop.pl dan save type as :all files
4. Untuk menjalankannya bisa lewat cmd dulu (win+R) ketik "cmd" tanpa tanda petik <enter>
masuk ke dalam direktori penyimpanan misal: saya simpan di data D dalam folder perl
D:
cd perl
bioskop.pl
atau agan bisa double click pada file bioskop yang sudah agan buat.
Kalau berhasil tampilannya akan seperti ini:
Apa itu Stack ?
Stack adalah sebuah kumpulan data yang diletakkan di atas data lain. Dengan begitu stack bisa diartikan juga sebagai LIFO (Last in First out), jadi data yang terakhir masuk akan keluar pertama (lebih awal).
Pada stack kegiatan menginputkan data dapat disebut push, dan
mengambil data disebut pop.
Pada saat sebuah stack masih kosong maka stack tersebut adalah top sekaligus bottom. Dan saat dilakukan push maka data yang pertama adalah top, dan jika kemudian dilakukan push lagi maka data yang kedua adalah top begitu pula seterusnya.
Pada stack top merupakan data yang keluar pertama, karena letaknya berada di paling atas.
Berikut ini adalah contoh push pada stack:
Dan ini proses pop :
Pada stack kegiatan menginputkan data dapat disebut push, dan
mengambil data disebut pop.
Pada saat sebuah stack masih kosong maka stack tersebut adalah top sekaligus bottom. Dan saat dilakukan push maka data yang pertama adalah top, dan jika kemudian dilakukan push lagi maka data yang kedua adalah top begitu pula seterusnya.
Pada stack top merupakan data yang keluar pertama, karena letaknya berada di paling atas.
Berikut ini adalah contoh push pada stack:
Dan ini proses pop :
Sunday, September 13, 2015
Cara Mematikan / Menghilangkan Iklan Sponsor di BBM Feeds atau Umpan BBM
Kalau ada iklan sponsor di BBM Feeds / Umpan BBM pasti sangat mengganggu kan? Tapi bisa kok di hilangin
caranya :
1. buka BBM
2. buka tab BBM Feeds / Umpan BBM
3. Klik contacts
caranya :
1. buka BBM
2. buka tab BBM Feeds / Umpan BBM
3. Klik contacts
nah, udah hilang kan ??? selamat mencoba :)
Wednesday, September 9, 2015
Konsep Dasar Algoritma Link List
Pengertian Link List
Sudah pernah dengar tentang Link List ? Bagi yang belum tahu apa itu link list, secara pengertian link list merupakan salah satu bentuk struktur data yang berisi kumpulan data (node) yang tersusun secara continue dan saling sambung menyambung antara data yang satu dengan data yang lainnya.
Link list bisa juga disebut dengan variabel berantai, dan setiap node pada link list menempati alokasi memori secara dinamis.
Bedasarkan tipe link list dibedakan menjadi 3 jenis link list:
1. Single Link List
Single link list adalah link list yang hanya
menggunakan satu variabel pointer saja (maksudnya arah panahnya hanya satu arah saja).
2. Double Link List
Double link list adalah sekumpulan elemen-elemen yang saling berhubungan yang dihubungkan oleh dua pointer baik depan atau belakang (next and previous).
3. Circular Link List
Circular link list adalah kumpulan dari elemen elemen yang saling berhubungan antara yang saru dan yang lainnya, termasuk head dan tail pada link list ini saling berhuungan.
Konsep Kerja Link List
Pada intinya konsep kerja link list menurut saya agak mirip dengan array gan, jadi pada mulanya adalah sebuah data yang kosong yang pada mulanya adalah " head=tail ". Biar lebih jelas saya sertakan gambar berikut:
Sudah pernah dengar tentang Link List ? Bagi yang belum tahu apa itu link list, secara pengertian link list merupakan salah satu bentuk struktur data yang berisi kumpulan data (node) yang tersusun secara continue dan saling sambung menyambung antara data yang satu dengan data yang lainnya.
Link list bisa juga disebut dengan variabel berantai, dan setiap node pada link list menempati alokasi memori secara dinamis.
Bedasarkan tipe link list dibedakan menjadi 3 jenis link list:
1. Single Link List
Single link list adalah link list yang hanya
menggunakan satu variabel pointer saja (maksudnya arah panahnya hanya satu arah saja).
2. Double Link List
Double link list adalah sekumpulan elemen-elemen yang saling berhubungan yang dihubungkan oleh dua pointer baik depan atau belakang (next and previous).
3. Circular Link List
Circular link list adalah kumpulan dari elemen elemen yang saling berhubungan antara yang saru dan yang lainnya, termasuk head dan tail pada link list ini saling berhuungan.
Konsep Kerja Link List
Pada intinya konsep kerja link list menurut saya agak mirip dengan array gan, jadi pada mulanya adalah sebuah data yang kosong yang pada mulanya adalah " head=tail ". Biar lebih jelas saya sertakan gambar berikut:
Jadi pada saat link list belum terisi maka posisi head = posisi tail, bisa disebut juga belum memiliki ujung.
Kemudian pada saat data tersebut diberi nilai maka posisi tail akan bergeser, untuk lebih jelasnya saya sertakan gambar berikut:
head = tail
new_tail = tail
Begitu pula proses selanjutnya berlangsung.
Apabila agan masih belum jelas dengan penjelasan saya di atas, berikut saya sertakan video yang menjadi referensi saya:
Terima kasih atas kunjungannya, semoga atikel yang saya tulis dapat bermanfaat dan mudah dipahami.
Thursday, September 3, 2015
Membuat Kalkulator Bilangan Pecahan menggunakan Perl
Di zaman teknologi yang berkembang pesat saat ini, kita tidaklah terlepas dari bentuan komputer dalam melakukan pekerjaan kita sehari-hari. Tanpa kita sadari ternyata teknologi yang kita gunakan saat ini adalah serangkaian program-program yang telah dibuat oleh seorang programmer agar berjalan sesuai dengan fungsi dan kebutuhan user. Nah, untuk menjadi seorang programmer
tidaklah semudah membalikkan telapak tangan, namun harus dilalui dengan kerja keras dan logika yang kuat.
Maka dari itu pada kesempatan kali ini, saya akan membagikan bagaimana cara membuat kalkulator yang dapat menghitung bilangan pecahan dengan menggunakan bahasa pemrograman Perl.
Perl merupakan singkatan dari Practical Extraction and Report Language, dibuat oleh Larry Wall.
Semoga artikel yang saya tulis ini dapat bermanfaat dan mudah dimengerti, silakan disimak ...
pertama silakan buka notepad dan copy script di bawah ini
Source Code
print " What is the first number?\n";
$a = <>; #mendeklarasikan tipe data
chomp($a); #fungsi ini untuk menyimpan inputan user ke dalam variabel
print "__ \n";
$b = <>;
chomp($b);
print " What is the second number?\n";
$c = <>;
chomp($c);
print "__\n";
$d = <>;
chomp($d);
$pembilang = $b * $d;
$atas_kiri = ($pembilang / $b) ; #melakukan proses perhitungan
$atas_kiri2 = $atas_kiri * $a ;
$atas_kanan = ($pembilang / $d) ;
$atas_kanan2 = $atas_kanan * $c;
print "\n1. + \n2. -\n3. x\n4. /\n"; #menampilkan output
print "What is operator u want?\n";
$z = <>;
chomp($z);
if ($z == 1){ #fungsi if
print "\n".$atas_kiri2 ." + ".$atas_kanan2 ;
print "\n_______\n";
print $pembilang . "\n\n";
$asd = $atas_kiri2 + $atas_kanan2;
print $asd;
print "\n_______\n";
print $pembilang . "\n\n";
print $asd / $pembilang;
}
if ($z == 2){
print "\n".$atas_kiri2 ." - ".$atas_kanan2 ;
print "\n_______\n";
print $pembilang . "\n\n";
$asd = $atas_kiri2 - $atas_kanan2;
print $asd;
print "\n_______\n";
print $pembilang . "\n\n";
print $asd / $pembilang;
}
if ($z == 3){
print "\n".$a ." x ".$c ;
print "\n_______\n";
print "\n".$b ." x ".$d ." \n \n" ;
print $a * $c ;
print "\n_______\n";
print $b * $d;
$jkl = $a * $c;
$iop = $b * $d;
print "\n" . $jkl / $iop ;
}
if ($z == 4){
print "\n".$a ." x ".$d ;
print "\n_______\n";
print "\n".$b ." x ".$c ." \n \n" ;
print $a * $d ;
print "\n_______\n";
print $b * $c;
$jkl = $a * $d;
$iop = $b * $c;
print "\n" . $jkl / $iop ;
}
nah kalau sudah agan catat silakan disimpan dan berikan akhiran .pl mis: kalkulator.pl , save as type : all files
Untuk mengeksekusi program tersebut silakan buka direktori tempat penyimpanan program tersebut dati CMD, lalu ketikkan nama file nya mis:calculator.py kemudian tekan enter
Jika berhasil maka akan muncul tampilan seperti berikut :
tidaklah semudah membalikkan telapak tangan, namun harus dilalui dengan kerja keras dan logika yang kuat.
Maka dari itu pada kesempatan kali ini, saya akan membagikan bagaimana cara membuat kalkulator yang dapat menghitung bilangan pecahan dengan menggunakan bahasa pemrograman Perl.
Perl merupakan singkatan dari Practical Extraction and Report Language, dibuat oleh Larry Wall.
Perl adalah bahasa interpreter sekaligus kompiler, artinya Perl akan mendeteksi setiap baris untuk mencari syntax error sebelum program dijalankan.
Ketentuan-ketentuan:
- Perl memiliki tiga tipe data: skalar, array, dan hash.
- Skalar menyimpan nilai tunggal, array menyimpan kumpulan skalar dengan urutan tertentu, sedangkan hash menyimpan kumpulan skalar berpasangan.
- Sebuah variabel dinyatakan dengan tanda awalan tertentu yang merujuk pada tipe data yang dikandungnya, serta nama yang berfungsi sebagai pengenal.
- Tanda pengenal adalah $ untuk skalar, @ untuk array, dan % untuk hash.
- Nama variabel terdiri atas huruf dan angka, disebut juga alfanumerik (karakter “_” dihitung sebagai huruf).
- Nama variabel tidak boleh dimulai dengan angka.
- Tidak ada ketentuan mengikat mengenai berapa panjang nama variabel yang boleh digunakan
Semoga artikel yang saya tulis ini dapat bermanfaat dan mudah dimengerti, silakan disimak ...
pertama silakan buka notepad dan copy script di bawah ini
Source Code
print " What is the first number?\n";
$a = <>; #mendeklarasikan tipe data
chomp($a); #fungsi ini untuk menyimpan inputan user ke dalam variabel
print "__ \n";
$b = <>;
chomp($b);
print " What is the second number?\n";
$c = <>;
chomp($c);
print "__\n";
$d = <>;
chomp($d);
$pembilang = $b * $d;
$atas_kiri = ($pembilang / $b) ; #melakukan proses perhitungan
$atas_kiri2 = $atas_kiri * $a ;
$atas_kanan = ($pembilang / $d) ;
$atas_kanan2 = $atas_kanan * $c;
print "\n1. + \n2. -\n3. x\n4. /\n"; #menampilkan output
print "What is operator u want?\n";
$z = <>;
chomp($z);
if ($z == 1){ #fungsi if
print "\n".$atas_kiri2 ." + ".$atas_kanan2 ;
print "\n_______\n";
print $pembilang . "\n\n";
$asd = $atas_kiri2 + $atas_kanan2;
print $asd;
print "\n_______\n";
print $pembilang . "\n\n";
print $asd / $pembilang;
}
if ($z == 2){
print "\n".$atas_kiri2 ." - ".$atas_kanan2 ;
print "\n_______\n";
print $pembilang . "\n\n";
$asd = $atas_kiri2 - $atas_kanan2;
print $asd;
print "\n_______\n";
print $pembilang . "\n\n";
print $asd / $pembilang;
}
if ($z == 3){
print "\n".$a ." x ".$c ;
print "\n_______\n";
print "\n".$b ." x ".$d ." \n \n" ;
print $a * $c ;
print "\n_______\n";
print $b * $d;
$jkl = $a * $c;
$iop = $b * $d;
print "\n" . $jkl / $iop ;
}
if ($z == 4){
print "\n".$a ." x ".$d ;
print "\n_______\n";
print "\n".$b ." x ".$c ." \n \n" ;
print $a * $d ;
print "\n_______\n";
print $b * $c;
$jkl = $a * $d;
$iop = $b * $c;
print "\n" . $jkl / $iop ;
}
nah kalau sudah agan catat silakan disimpan dan berikan akhiran .pl mis: kalkulator.pl , save as type : all files
Untuk mengeksekusi program tersebut silakan buka direktori tempat penyimpanan program tersebut dati CMD, lalu ketikkan nama file nya mis:calculator.py kemudian tekan enter
Jika berhasil maka akan muncul tampilan seperti berikut :
Labels:
Coding,
Kalkulator,
Matematika,
Pecahan,
Perl,
Tugas
Monday, July 13, 2015
Arti Bunyi Beep pada saat Komputer Dinyalakan
Pernah dengar bunyi beep saat komputer baru dinyalakan ? Sebenarnya bunyi tersebut ada artinya lhoo, bunyi yang kalian dengar merupakan kode rahasia yang memiliki arti-arti tersendiri.
Bunyi ‘beep’ pendek 1 kali, artinya sistem telah melakukan proses Boot dengan baik.
Bunyi ‘beep’ panjang 1 kali dan pendek 1 kali, artinya ada masalah pada Motherboard atau DRAM.
Bunyi ‘beep’ panjang 1 kali dan pendek 2 kali, artinya ada masalah pada monitor atau VGA Card.
Bunyi ‘beep’ panjang 1 kali dan pendek 3 kali, artinya ada masalah pada Keyboard.
Bunyi ‘beep’ panjang 1 kali dan pendek 9 kali, artinya ada masalah pada ROM BIOS.
Bunyi ‘beep’ panjang terus-menerus, artinya ada masalah di DRAM.
Bunyi ‘beep’ pendek terus-menerus, artinya ada masalah penerimaan tegangan (power).
Friday, July 10, 2015
Cara Membuat Gambar Foto Profil dan Cover Facebook Menyatu
Kali ini saya akan share bagaimana cara membuat gambar foto profil dan cover di Facebook menyatu seperti ini :
gampang,, langsung aja bikin sendiri di sini
gampang,, langsung aja bikin sendiri di sini
Tidak Bisa Mengcopy file ISO ke Dalam Flashdisk
Mungkin anda sering mengalami masalah kenapa kok tiba-tiba tidak bisa mengcopy file game atau OS yang memiliki tipe data iso ke dalam flashdisk. Sebenarnya ini bukan kesalahan dari flashdisknya, namun peristiwa seperti ini disebabkan oleh format flash disk kita adalah FAT 32,
yang hanya mampu mengcopy suatu data yang memiliki ukuran data maksimal 4 GB.
Nah, jangan khawatir solusinya adalah anda bisa download HJSplit untuk memecahkan data tersebut menjadi beberapa bagian (split) dan menggabungkannya kembali (join) menjadi satu setelah data dipindahkan ke komputer lain. Link: http://www.hjsplit.org/
Cara kedua adalah anda ekstrak dulu file tersebut ke dalam rar kemudian baru di copy.
Semoga bermanfaat ...
yang hanya mampu mengcopy suatu data yang memiliki ukuran data maksimal 4 GB.
Nah, jangan khawatir solusinya adalah anda bisa download HJSplit untuk memecahkan data tersebut menjadi beberapa bagian (split) dan menggabungkannya kembali (join) menjadi satu setelah data dipindahkan ke komputer lain. Link: http://www.hjsplit.org/
Cara kedua adalah anda ekstrak dulu file tersebut ke dalam rar kemudian baru di copy.
Semoga bermanfaat ...
Thursday, June 25, 2015
Cara Mod Game Apk Smartphone
wah,, sudah lama ngga posting nih, di bulan puasa yang penuh berkah ini jangan sobat isi dengan tidur-tidur bingung mau ngapain aja. Mending sobat coba-coba main game mod di HP smartphone android sobat.
Nah bagaimana sih cara main atau mod game android di smartphone ?
gampang kok, langsung aja disimak caranya :
untuk aplikasi yang digunakan untuk mod apk bisa agan donlot di sini, namanya Xmodgames
buat yang belum tau apa itu Xmodgames , Xmodgames adalah sebuah aplikasi yang mempunyai kemampuan untuk memodifikasi game-game tertentu agar dapat berjalan di luar fitur smartphone anda. aplikasi ini mirip dengan xxzhushou hanya saja menggunakan bahasa inggris dalam interface nya.
Nah ini adalah beberapa aplikasi yang bisa di mod menggunakan Xmodgames :
Nah bagaimana sih cara main atau mod game android di smartphone ?
gampang kok, langsung aja disimak caranya :
untuk aplikasi yang digunakan untuk mod apk bisa agan donlot di sini, namanya Xmodgames
buat yang belum tau apa itu Xmodgames , Xmodgames adalah sebuah aplikasi yang mempunyai kemampuan untuk memodifikasi game-game tertentu agar dapat berjalan di luar fitur smartphone anda. aplikasi ini mirip dengan xxzhushou hanya saja menggunakan bahasa inggris dalam interface nya.
Nah ini adalah beberapa aplikasi yang bisa di mod menggunakan Xmodgames :
- Clash of Clans
- 8 Ball Pool
- Candy Crush Saga
- Boom Beach
- Heroes Charge
- Subway Surfers
- Plants vs. Zombie 2
- Fun Run 2
- Candy Crush Soda Saga untuk Android 5.0
Oh ya tapi buat agan yang pingin langsung game yang sudah di mod tanpa harus download modder nya, agan bisa download di sini.
Ok, sekian dari saya terima kasih semoga bermanfaat
Thursday, June 11, 2015
Membuat Program Menghitung Volume Bangun Ruang menggunakan Java Netbeans
Halo, sudah lama ngga posting nih. Kali ini saya akan membagikan script code program menghitung volume bangun ruang dengan menggunakan java netbeans
Karena pada script ini saya menggunakan private class jadi saya taruh scriptnya di sini http://www.solidfiles.com/d/43867e058b/ saja biar gampang agan download.
Monggo disedot script nya gan.. ^^
Karena pada script ini saya menggunakan private class jadi saya taruh scriptnya di sini http://www.solidfiles.com/d/43867e058b/ saja biar gampang agan download.
Monggo disedot script nya gan.. ^^
Wednesday, June 10, 2015
Cara Menonaktifkan Notifikasi Game di Facebook
Notifkasi game yang tumpeh-tumpeh tentu sangat membuat kesal, maka dari itu pada kesempatan kali ini saya akan share bagaimana cara menonaktifkan notifikasi game di facebook. Oke langsung saja silakan disimak langkah2 nya :
1. login dulu ke halaman facebook
2, klik setting yang ada tepat ada pojok kanan atas
3. klik notification pada men
u bagian kanan
4. lalu klik pada app request and activity
5. langsung saja off kan tanda on pada notif masing2 game
1. login dulu ke halaman facebook
2, klik setting yang ada tepat ada pojok kanan atas
3. klik notification pada men
u bagian kanan
4. lalu klik pada app request and activity
5. langsung saja off kan tanda on pada notif masing2 game
Thursday, June 4, 2015
Cara agar Pemilik Blog Tidak Terlacak saat Mengunjungi Halaman Sendiri
Seorang blogger pasti pada suatu saat ingin melihat berapa jumlah pengunjung yang mampir ke blognya, namun terkadang tidak kita sadari saat melihat angka hit counter ternyata angka-angka tersebut tercipta karena kita mengunjungi blog kita sendiri sehingga terlihat seakan-akan dikunjungi banyak orang. Untuk menghindari hal terseb
ut maka kita dapat menghilangkan pelacak penayangan pada halaman sendiri, caranya :
1. login ke blogger.com menggunakan akun anda
2. masuk ke statistik -> ikhtisar
3. kemudian klik pada "jangan lacak tayangan laman Anda sendiri"
ut maka kita dapat menghilangkan pelacak penayangan pada halaman sendiri, caranya :
1. login ke blogger.com menggunakan akun anda
2. masuk ke statistik -> ikhtisar
3. kemudian klik pada "jangan lacak tayangan laman Anda sendiri"
4. kemudian pilih jangan lacak tayangan laman saya, lalu klik simpan
Program Perkalian Matiks 3x3 dengan Java Netbeans
Program Perkalian Matiks 3x3 dengan menggunakan Java Netbeans
Scanner baca = new Scanner (System.in);
final int Maxarra = 3;
int arra[][] = new int[Maxarra][Maxarra];
for (int x = 0; x < Maxarra; x++) {
for (int y = 0; y < Maxarra; y++) {
System.out.print("angka ["+x+"]["+y+"] ");
arra[x][y] = baca.nextInt();
}
}
System.out.println("");
for (int x = 0; x < Maxarra; x++) {
for (int y = 0; y < Maxarra; y++) {
System.out.print(arra[x][y]+" ");
}
System.out.println("");
}
final int Maxarrb = 3;
int arrb[][] = new int[Maxarrb][Maxarrb];
for (int x = 0; x < Maxarrb; x++) {
for (int y = 0; y < Maxarrb; y++) {
System.out.print("angka ["+x+"]["+y+"] ");
arrb[x][y] = baca.nextInt();
}
}
System.out.println("");
for (int x = 0; x < Maxarrb; x++) {
for (int y = 0; y < Maxarrb; y++) {
System.out.print(arrb[x][y]+" ");
}
System.out.println("");
}
System.out.println("");
int a [] = new int[9];
int hasil1 = (arra[0][0]*arrb[0][0])+(arra[0][1]*arrb[1][0])+(arra[0][2]*arrb[2][0]);
int hasil2 = (arra[0][0]*arrb[0][1])+(arra[0][1]*arrb[1][1])+(arra[0][2]*arrb[2][1]);
int hasil3 = (arra[0][0]*arrb[0][2])+(arra[0][1]*arrb[1][2])+(arra[0][2]*arrb[2][2]);
int hasil4 = (arra[1][0]*arrb[0][0])+(arra[1][1]*arrb[1][0])+(arra[1][2]*arrb[2][0]);
int hasil5 = (arra[1][0]*arrb[0][1])+(arra[1][1]*arrb[1][1])+(arra[1][2]*arrb[2][1]);
int hasil6 = (arra[1][0]*arrb[0][2])+(arra[1][1]*arrb[1][2])+(arra[1][2]*arrb[2][2]);
int hasil7 = (arra[2][0]*arrb[0][0])+(arra[2][1]*arrb[1][0])+(arra[2][2]*arrb[2][0]);
int hasil8 = (arra[2][0]*arrb[0][1])+(arra[2][1]*arrb[1][1])+(arra[2][2]*arrb[2][1]);
int hasil9 = (arra[2][0]*arrb[0][2])+(arra[2][1]*arrb[1][2])+(arra[2][2]*arrb[2][2]);
System.out.println(hasil1+"\t"+hasil2+"\t"+hasil3);
System.out.println(hasil4+"\t"+hasil5+"\t"+hasil6);
System.out.println(hasil7+"\t"+hasil8+"\t"+hasil9);
//untuk nama scanner terrserah, bisa diganti
Scanner baca = new Scanner (System.in);
final int Maxarra = 3;
int arra[][] = new int[Maxarra][Maxarra];
for (int x = 0; x < Maxarra; x++) {
for (int y = 0; y < Maxarra; y++) {
System.out.print("angka ["+x+"]["+y+"] ");
arra[x][y] = baca.nextInt();
}
}
System.out.println("");
for (int x = 0; x < Maxarra; x++) {
for (int y = 0; y < Maxarra; y++) {
System.out.print(arra[x][y]+" ");
}
System.out.println("");
}
final int Maxarrb = 3;
int arrb[][] = new int[Maxarrb][Maxarrb];
for (int x = 0; x < Maxarrb; x++) {
for (int y = 0; y < Maxarrb; y++) {
System.out.print("angka ["+x+"]["+y+"] ");
arrb[x][y] = baca.nextInt();
}
}
System.out.println("");
for (int x = 0; x < Maxarrb; x++) {
for (int y = 0; y < Maxarrb; y++) {
System.out.print(arrb[x][y]+" ");
}
System.out.println("");
}
System.out.println("");
int a [] = new int[9];
int hasil1 = (arra[0][0]*arrb[0][0])+(arra[0][1]*arrb[1][0])+(arra[0][2]*arrb[2][0]);
int hasil2 = (arra[0][0]*arrb[0][1])+(arra[0][1]*arrb[1][1])+(arra[0][2]*arrb[2][1]);
int hasil3 = (arra[0][0]*arrb[0][2])+(arra[0][1]*arrb[1][2])+(arra[0][2]*arrb[2][2]);
int hasil4 = (arra[1][0]*arrb[0][0])+(arra[1][1]*arrb[1][0])+(arra[1][2]*arrb[2][0]);
int hasil5 = (arra[1][0]*arrb[0][1])+(arra[1][1]*arrb[1][1])+(arra[1][2]*arrb[2][1]);
int hasil6 = (arra[1][0]*arrb[0][2])+(arra[1][1]*arrb[1][2])+(arra[1][2]*arrb[2][2]);
int hasil7 = (arra[2][0]*arrb[0][0])+(arra[2][1]*arrb[1][0])+(arra[2][2]*arrb[2][0]);
int hasil8 = (arra[2][0]*arrb[0][1])+(arra[2][1]*arrb[1][1])+(arra[2][2]*arrb[2][1]);
int hasil9 = (arra[2][0]*arrb[0][2])+(arra[2][1]*arrb[1][2])+(arra[2][2]*arrb[2][2]);
System.out.println(hasil1+"\t"+hasil2+"\t"+hasil3);
System.out.println(hasil4+"\t"+hasil5+"\t"+hasil6);
System.out.println(hasil7+"\t"+hasil8+"\t"+hasil9);
//untuk nama scanner terrserah, bisa diganti
Saturday, May 30, 2015
Fungsi Gadget Labels pada Blogspot
Bagi teman-teman yang sering atau suka blogging mungkin sudah tahu apa fungsi dari label, namun bagi yang belum tahu akan saya jelaskan secara singkat di posting saya kali ini.
Fungsi dari label pada blogspot sebenar
nya adalah untuk mengkategorikan setiap kategori posting yang ada pada blog kita. Misalnnya pada blog yang membahas komputer akan ada label : software, hardware, troubleshooting, dll ...
Penggunaan label sangatlah penting bagi blog kita, karena dengan adanya label dapat memudahkan user dalam mencari artikel sesuai dengna kategori yang diiinginkan. Agar user lebih mudah dalam mencari artikel yang diinginkan maka kita sebagai author wajib untuk memberikan label pada masing-masing artikel / postingan kita, namun cukup dengan 1 label saja.
Subscribe to:
Posts (Atom)