Tutorial Menampilkan Data Dari Database MYSQL ke Tabel di Java

selamat pagi disini akan share cara menampilkan data dari database ke dalam tabel atau jtable di java, caranya sebenarnya cukup mudah kok :D. langsung saja ikuti langkah-langkahnya ya :

1. langkah pertama pasti lah anda buat tabel databasenya dari mysql terserah mau gunakan sql++ atau xamp phpmyadmin dalam buatnya

2. kemudian setelah database sudah dibuat maka kita siapkan tampilan gui java nya saya pakai netbean developnya. misal tampilan seperti ini

tampilan awal guinya
3. kemudian buat koneksi kedatabase nya untuk koneksi anda bisa kesini karena disini saya tidak bahas  
    koneksi mysql dengan java :D

4. setelah koneksi klik double pada tabel tampilan guinya dan masuk lah ke halaman kodenya dan ini kode untuk menampilkan data dari mysql ke jtable. buat method baru di java ini kodenya atau copy saja kode dibawah ini.

5. nah setelah itu jika keluar tanda seru merah di sebelah kiri kode maka klik tanda merah tersebut yang menandakan error nanti muncul pilihan dan pilihlah pilihan import yang tidak menyebabkan error

 6. kemudian letakkan method display(); tersebut di dalam konstructor class tersebut tampilannya seperti berikut

kode display di konstruktor class
dan nanti waktu di run main class nya hasilny seperti dibawah ini

database tampil di jtable
hasil tabel jika di run
nah selesaikan sudah jadi jtable kita sudah terisi dengan data dari database dan untuk modif database dan jtable sesuai kebutuhan anda semua tidak harus sama dengan contoh diatas untuk nama tabel  data base dan jumlah kolom jtable nya.
sekian tutorial dari saya terima kasih sudah berkunjung kritik dan saran saya tunggu salam blogger :t

CARA MEMBUAT PROGRAM KALKULATOR DENGAN OOP PHP

selamat malam sebelum tidur ane share dulu ilmu yang sebenarnya masih dasar bagi para master web hehehe. yaitu tentang oop di php. biasanya oop di gunakan di java tetapi untuk php 4 dan php 5 oop sudah mendukung jadi alangkah baiknya kita mencoba nikmatnya oop di java. oop itu apa ? oop adalah pemrograman yang berbasis objek jadi semua masalah di selesaikan dengan objek kira-kira seperti itu singkatnya :D. Baik langsung saja ke contoh cara membuat nya ini ada contog program kalkulator sederhana menggunakan pemrograman oop yang ada di php pasti seru nih :).

langkah membuatnya buat file beri nama Kalkulator.php (guna sebagai class dari objeknya), kodenya seperti dibawah ini
kemudian buat file yang kedua berinama dengan index.php (sebagai halaman awal web program kita) masukan kode dibawah ini

kemudian simpan kedua files diatas dalam 1 folder dan jalankan di localhost komputer lokal anda berikut ouputnya
output

CARA MENGHITUNG DIFERENSIASI NUMERIK DENGAN METODE SELISIH TINGKAT TINGGI

Differensiasi tingkat tinggi
Differensiasi tingkat tinggi merupakan proses pendifferensialan secara terus-menerus, hingga tingkatan yang ditentukan. diferensiasi tingkat tinggi merupakan penyempurnaan dari metode metode sebekumnya seperti selisih maju, selisih tengahan. untuk tingakat pendekatan akurasinya sudah dibuktikan hasilnya lebih bagus dengan diferensiasi tingkat tinggi. Tingkat tinggi ada beberapa jenis misal ada tingkat 2 tingkat 3 dan seterusnya untuk rumusnya bisa googling. Saya hanya membahas dengan kode program bagaimana cara mengimplementasikan metode diferensiasi tingkat tinggi di program berikut kodenya :)



nah itu kodenya silakan di ikutkan dan dicoba di komputer anda semoga manfaat.

CARA MENGHITUNG DIFERENSIASI NUMERIK DENGAN METODE SELISIH TENGAHAN

Setelah membahas cara hitung diferensiasi numerik dengan metode selisih maju  . Sekarang kita belajar tentang metode lainnya lanjutan dari metode maju yaitu Metode Selisih Tengahan apa itu ?

„ Metode selisih tengahan merupakan metode pengambilan perubahan dari dua titik sekitar dari titik yang diukur. „

  1. Perhatikan selisih maju pada titik x-h
metode selisih maju
metode selisih maju

„     2. selisih maju pada titik x
 
   
selisih maju titik x
selisih maju titik x

„    3. Metode selisih tengahan merupakan rata-rata dari dua selisih maju :
rumus metode selisih tengahan
rumus metode selisih tengahan

nah untuk komputasi di komputer nya gunakan kode program berikut ini.

CARA MENGHITUNG DIFFERENSIASI NUMERIK DENGAN METODE SELISIH MAJU

Salah satu perhitungan kalkulus yang juga sering digunakan salah satunya adalah diferensiasi.  Differensial digunakan untuk keperluan perhitungan geometrik, yang berhubungan dengan perubahan nilai satuan waktu atau jarak.Secara kalkulus, didefinisikan sebagai perbandingan perubahan tinggi (selisih tinggi) dan perubahan jarak penentuan titik puncak kurva y = f(x) Ædy/dx = 0

Mengapa perlu Metode Numerik ?

  1. „Terkadang terdapat suatu fungsi yang sulit dihitung secara manual
  2. „Untuk mengotomatiskan, tanpa harus  menghitung manualnya
DIFFERENSIASI NUMERIK
„ Hubungan antara nilai fungsi dan perubahan  fungsi untuk setiap titiknya didefinisikan :

„ y = f(X) + f^1(x).h(x)
rumus diferensiasi numerik
rumus diferensiasi numerik


Diferensiasi dengan Metode Numerik 

  1. „Metode Selisih Maju
  2. „Metode Selisih Tengahan
  3. „Metode Selisih Mundur
nah setelah saya sedikit membahas tentang metode apa saja yang ada di diferensiasi sekarang kita belajar langsung komputasi numeriknya yang ada di komputer langsung coding mania :) hehehe.

1. kode program  Diferensiasi Selisih Maju



outputnya nanti hasilnya seperti ini dan coba angkanya untuk mengetahui benar tidak program kita angkanya gunakan dengan contoh output berikut ini .
diferensiasi dengan metode numerik selisih maju
output selisih maju

semoga manfaat untuk 2 metode lainnya akan saya sambung di postingan selanjutnya :D

ALGORITMA STRUKTUR DATA SORTING DENGAN METODE QUICK SHORT

Pengantar Quick Short


        Berdasar dari wikipedia Quicksort merupakan Algoritma Sorting yang dikembangkan oleh Tony Hoare yang, secara kasus rata-rata, membuat pengurutan O(n log n) untuk mengurutkan n item. Algoritma ini juga dikenal sebagai Partition-Exchange Sort atau disebut sebagai Sorting Pergantian Pembagi. Pada kasus terburuknya, algoritma ini membuat perbandingan O(n2), malaupun kejadian seperti ini sangat langka. Quicksort sering lebih cepat dalam praktiknya dari pada algoritma O(n log n) yang lainnya.[1] Dan juga, urutan dan referensi lokalisasi memori quicksort bekerja lebih baik dengan menggunakan cache CPU, jadi keseluruhan sorting dapat dilakukan hanya dengan ruang tambahan O(log n. Quicksort merupakan sorting pembanding dan pada implementasi efisien tidak merupakan algoritma sorting yang stabil.

Algoritma

      Quicksort merupakan Algoritma Pembagi. Pertama sekali quicksort membagi list yang besar menjadi dua buah sub list yang lebih kecil: element kecil dan element besar. Quicksort kemudian dapat menyortir sub list itu secara rekursif.

Langkah-Langkah pengerjaannya ialah:
  1. Ambil sebuah elemen, yang disebut dengan pivot, pada sebuah daftar.
  2. Urutkan kembali sebuah list sehingga elemen dengan nilai yang kecil dari pivot berada sebelum pivot, sedangkan seluruh element yang memiliki nilai yang lebih besar dari pivot berada setelahnya (nilai yang sama dapat berada pada pivot setelahnya). Setelah pemisahan, pivot berada pada posisi akhirnya. Operasi ini disebut Partition.
  3. Sub list kemudian disortir secara recursif dari elemen yang lebih kecil dan sub list dari elemen yang lebih besar.

Kasus dasar dari rekusrif ialah list dari besaran nol atau satu, yang tidak perlu untuk di sorting.

berikut kode quick short versi ane sebagai contoh saja :


ini merupakan gambar simulasi dari quick short
quick short
simulasi quick short

semoga bermanfaat dan berkah ammin..

Membuat Program Delete Dengan Double Linked List

setelah lama tidak main - main dengan dunia linked list jarang menggunakannya alangkah baiknya saya share ke pada kalain supaya tidak mubadzir ilmunya dan bermanfaat buat kita semua ammin :). berikut ini double linked list ada single dan ada double kalai ini yang double yang akan saya contoh kan . Membuat program Dobule Linked List dengan Operator Delete ada bebarapa macam teknik delete yang ada di double linked list salah satunya delete awal,delete akhir dan delete setelahnya. ini saya menggunakan bahasa C atau C++. tetapi ini juga bisa diterapkan di bahasa lainnya kok misal java,dll.

#include"stdio.h"
#include"stdlib.h"


void alokasi();
void awal();
void cetak();
void menu();
//void target();
void del_awal();
void del_after();
void del_akhir();

typedef struct simpul Node;
struct simpul
{
int data;
Node *next;
Node *prev;
};

int nilai;
char jawab;
Node *head;
Node *p, *before, *x, *prevhapus, *tail,*hapus,*after;


main()
{ char pil;
do
{
system("cls");

menu();

fflush(stdin);
printf("\n kembali ke menu utama (y/t) \n");
pil=getchar();

}while(pil=='y'||pil=='Y');
}


void menu()
{ char pil;
printf("\t delete data double list\n");
puts("create by achmad sayfudin\n");
puts("data yang ada ");
cetak();
puts("\t menu:");
puts("1. insert awal");
puts("2. delete awal");
puts("3. delete after");
puts("4. delete akhir");
//puts("5. delete target");
puts("6. cetak");
fflush(stdin);
printf("\nmasukan pilihan :> ");
pil=getchar();

if(pil=='1')
awal();
else if(pil=='2')
del_awal();
else if(pil=='3')
del_after();
else if(pil=='4')
del_akhir();
//else if(pil=='5')
//target();
else if(pil=='6')
cetak();

}


void alokasi()
{ fflush(stdin);
printf("nilai=");
scanf("%d",&nilai);
p=(Node *)malloc(sizeof(Node));

if(p==NULL)
{
puts("<<----- data-blogger-escaped-boss="" data-blogger-escaped-memori="" data-blogger-escaped-penuh="">>");
exit(0);
}
p->data=nilai;
p->next=NULL;
p->prev=NULL;


}

void awal()
{
char pil;
fflush(stdin);

do
{alokasi();
if(head==NULL)
{head=p; }
else
{p->next=head;
head->prev=p;
head=p;}

fflush(stdin);
printf("input lagi = ");
pil=getchar();
}while(pil=='y'||pil=='Y');

}


void cetak()
{
Node *baca;
baca=head;
while(baca!=NULL){
printf("nilai %d \n",baca->data);
baca=baca->next;
}


}


void del_awal()
{
//data tunggal
if((head!=NULL)&&(head->next==NULL))
{
head->next=NULL;
//puts("tak ada data yang dihapus");
}
//data banyak
if(head!=NULL)
{
hapus=head;
head=hapus->next;
hapus->prev=NULL;
}
free(hapus);
hapus=NULL;
}


void del_after()
{
int cari;
printf("cari data= ");
scanf("%d",&cari);

after=head;


while(after->data!=cari)
{ //prevhapus=after;
if(after->next==NULL)
{printf("tak ada data yang dihapus");}
else
after=after->next;//update
}

if(after->next==NULL)
puts("tak ada data yang dihapus");
else{
hapus=after->next;
//cek data diakhir
if(hapus->next==NULL)
after->next=NULL;
else
{
after->next=hapus->next;
hapus->next->prev=after;
}

free(hapus);
hapus=NULL;
printf("data %d berhasil dihapus\n",cari);
}
}

void del_akhir()
{
hapus=head;
if(head!=NULL)
if(head->next==NULL)//data tunggal
{del_awal();}
else
{
while(hapus->next!=NULL)
{hapus=hapus->next;}//update
hapus->prev->next=NULL;
}

free(hapus);
hapus=NULL;
}


/*void target()

{
int cari;
printf("cari data= ");
scanf("%d",&cari);
x=head;
while(x->data!=cari)
{ if(x->next==NULL)
exit(1);
else
prevx=x;
x=x->next;
}
prevx->next=x->next;


free(x);
x=NULL;

}*/

untuk outputnya bisa dijalankan sendiri di komputer masing-masing dengan kompiler kesukaan anda ok ? jika ada yang ditanyakan silakan komen ya terima kasih . Oya untuk programnya bisa di download disini.
luntas ilmu berbagi ilmu
luntas ilmu

Pengertian Stack dalam Struktur Data

 STACK
q  LINEAR LIST
¨       Linear list adalah suatu struktur data yang merupakan himpunan terurut dari satuan data atau dari record.
¨       Elemen yang terdapat dalam daftar disebut simpul/node.
¨       Daftar disebut Linear karena elemen nampak seperti baris, bahwa setiap simpul (kecuali simpul pertama dan terakhir) selalu memiliki elemen penerus langsung (suksesor) dan elemen pendahulu langsung (predesor).
¨       Misalnya didefinisikan suatu linear list A yang terdiri atas T buah elemen sebagai berikut :

A=[ a1,a2,……………, aT ]


     Jika T = 0 , maka A dikatakan sebagai “Null List” (list hampa).
¨       Suatu elemen dapat dihapus (delete) dari sembarang posisi pada linear list .
¨       Suatu elemen baru dapat dimasukkan (insertion) kedalam list dan dapat menempati sembarang posisi pada list tersebut.
¨       Jadi suatu linear list dapat berkurang atau bertambah setiap saat
Contoh : file merupakan linier list yang elemen-elemennya berypa record.

q  DEFINISI STACK
STACK adalah suatu bentuk khusus dari linear list di mana operasi  penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja yaitu posisi akhir dari list. Posisi ini disebut puncak atau disebut sebagai “TOP(S)”.
¨       Prinsip Stack adalah LIFO ( Last In First Out )atau Terakhir masuk pertama keluar.
Setiap elemen tidak dapat dikeluarkan (POP keluar) sebelum semua elemen diatasnya dikeluarkan.
¨       Elemen teratas (puncak) dari stack dinotasikan sebagai TOP(S)
Misal diberikan stack S sebagai berikut :
S= [ S2,S2,………, ST ] èmaka TOP(S) = ST
¨       Untuk menunjukkan  jumlah elemen suatu stack digunakan notasi NOEL(S).
Dari stack diatas  maka NOEL(S) = T.
NOEL(S) menghasilkan nilai integer.




Jika diberikan sebuah stack S = [A,B,C,D] maka stack S ini dapat digambarkan sebagai berikut :
ilustrasi stack
ilustrasi stack


q  OPERASI PADA STACK
1.   CREATE (STACK)
2.   ISEMPTY (STACK)
3.   PUSH (ELEMEN, STACK)

4.   POP (STACK)

Membuat Program Antrian Mobil dengan Stack

selamat malam sharing lagi sebelum aktivitas, ilmu yang tidak disharing tidak ada gunanya menurut saya sih hehhe. Jadi ini aku share sedikit ilmu tentang stack apa itu stack ? masuk kesini . Sebenarnya ini cuma iseng2 membuat program ini daripada ngangur buat ngisi waktu kosong coba-coba implemtasikan stack yang saya dapat di perkuliahan untuk saya terapkan di program di bawah ini. Jangan bingung ya dengan kode saya di bawah ini soalnya memang tidak ada dokumentasi untuk kode program tersebut, jika ada yang bingung langsung komen saya ya . ok dari pada lama-lama nanti keburu dingin kopinya :D ini ada contoh program langsung saja ya ke praktikum soalnya saya bingung panjang lebar hehe ikuti kode program.


hasilnya apa ya bisa di coba dulu nanti keluarnya apa pasti ok ?

Tutorial Cara Membuat Bilangan Urut Secara Segitiga Dengan Pemrograman Bash Shell

-luntas ilmu -  selamat malam yuk mari belajar pemrograman yang ada di linux yaitu tentang bash shell berikut langsung saja ya ? ini ada beberapa contoh cara membuat bilangan urut seperti segitiga dengan bash shell tampilannya seperti ini .

program bash shell urut bilangan segitiga
urutan bilangan menaik
nah tampilannya seperti diatas itu memang agak lumayan sulit kalau belum terbiasa dengan bash shell tapi meskipun sulit tidak ada yang tak bisa kalau ingin mempelajarinya iya kan. kita belajar pelan-pelan pertama

- buka editor kalian di linux bisa pakai nano,vi atau vim lainnya juga boleh.
- misal #nano prog1.sh (harus menggunakan extensi .sh ya karena kita ingin membuat program shell jadi                                            formatnya .sh ).
-setelah itu ketik sintak dibawah ini.

#!/bin/sh
clear
echo -n "masukan jumlah perulangan : "
read ulang

for ((i=1;i<=ulang;i++))
do
for ((j=1;j<=i;j++))
do
for ((j=1;j<=i;j++))
do
printf $j
done
done
printf "\n"
done


-----------------------------------------------------------------------------------------------------------
penjelasan program diatas :
 Clear 
 digunakan untuk menghapus layar saat program selesai eksekusi

echo -n 
untuk mencetak kelayar tetapi -n untuk pindah baris

for ((i=1;i<=ulang;i++))
do
   kondisi ....
done
merupakan format sintak aturan for untuk bash shell

printf "\n"
seperti bahasa c jika sudah mengenal yaitu untuk mencetak kelayar dengan /n sebagai format ganti barisnya

MODUL STRUKTUR DATA REKURSIF DENGAN BAHASA C/C++

-Luntas Ilmu-  selamat pagi teman kembali lagi mari kita belajar struktru data dengan metode rekursif dan di implementasikan menggunakan bahasa c/c++ cukup mudah sebernya rekursif ini diantara ilmu yang ada di struktur data :D . Pengertiannya bisa di lihat dibawah ini ya ?


PENGERTIAN REKURSIF
Rekursif berarti bahwa suatu proses bisa memanggil dirinya sendiri. Menurut definisi dalam Microsoft Bookshelf, Rekursif adalah kemampuan suatu rutin untuk memanggil dirinya sendiri. Dalam Rekursif sebenarnya terkandung pengertian prosedur dan fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan berakhir.Rekursi biasanya di gunakan secara iteratif yaitu melakukan pengulangan operasi sampai jumlah pengulangan yang di inginkan.

ini ada beberapa contoh rekursif mungkin bisa menambah referensi anda :)
1. faktroial
//faktorial

#include"stdio.h"

void menu();
void iterasi();
int rekursif(int );
int tail(int ,int);

main(){
menu();

}

void menu(){
char pil,jawab;
int a=1,f;
do{
puts("PROGRAM FAKTORIAL");
printf("1.iterasi biasa\n2.rekursif\n3.rekursif tail\n");
fflush(stdin);
printf("masukan pilihan : ");
pil=getchar();

switch(pil){
case '1':iterasi();break;
case '2':
{
puts("\n=========================");
puts("\t rekursif ");
puts("=========================");
printf("masukan faktorial dari : ");
scanf("%d",&f);
printf("faktorial=%d",rekursif(f));
break;
}
case '3':{
puts("\n=========================");
puts("\t TAIL ");
puts("=========================");
printf("masukan faktorial dari : ");
scanf("%d",&f);
printf("faktorial=%d",tail(f,a));
break;

break;

}
}

//if(pil=='1')
// iterasi();
fflush(stdin);
printf("\nmau input lagi : ");
jawab=getchar();

}while(jawab=='y'||jawab=='Y');
}

void iterasi(){
int i,f,hasil=1;
puts("\n=========================");
puts("\t iterasi ");
puts("=========================");
printf("masukan faktorial dari : ");
scanf("%d",&f);

for(i=f;i>=1;i--){
hasil=hasil*i;
}
printf("\nhasil faktorial = %d\n",hasil);
}


int rekursif(int f){
if(f==1)
return 1;
else if(f==0)
return 1;
else
return(f*rekursif(f-1));
}

int tail(int n, int a){

if (n < 0)
return 0;
else if (n == 0)
return 1;
else if (n == 1)
return a;
else
return tail(n-1,n*a);
}

MODUL MEMAHAMI QUEUE MENGGUNAKAN LINKED LIST DI BAHASA C/C++


ANTRIAN QUEUE
mari belajar queue suatu struktur data antrian yang memiliki dua versi yaitu diterapkan dengan array atau dengan linked list yang saya contohkan di bawah ini dengan linked list. Sebelum mengenal jauh dengan queue alangkah baiknya kita memahmi dulu apa sih queue itu ??

Queue
Adalah suatu bentuk khusus dari linear list dengan operasi penyisipan (insertion) hanya pada salah satu sisi ( Rear/ belakang) dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi lainnya (Front/ depan) dari list.

Antrean Q = [ Q1, Q2, Q3,……….., QT]
Front(Q) = bagian depan dari antrean Q
Rear(Q) = bagian belakang dari antrean Q
Noel(Q) = Jumlah elemen di dalam antrean ( berharga integer)
Jadi : Front(Q) = QT
Rear(Q) = Q1
Noel(Q) = T

Antrean beroperasi secara FIFO ( First In First Out) yang pertama masuk, yang pertama keluar.

 Operasi dasar pada Antrean :

1. CREATE(Q)
Operator untuk membentuk suatu antrean hampa
Q = [,…….,]
NOEL(CREATE(Q)) = 0
FRONT(CREATE(Q)) = tidak didefinisikan
REAR(CREATE(Q)) = tidak didefinisikan

2. ISEMPTY(Q)
Operator yang menentukan apakah antrean Q hampa atau tidak.
Operand dari operator ISEMPTY adalah antrean.
Hasilnya bertipe data Boolean
ISEMPTY(Q) =TRUE jika Q adalah antrean hampa (NOEL(Q) = 0)
FALSE jika Q bukan antrean kosong (NOEL(Q)  0)

3. INSERT(E,Q)
Operator yang menyisipkan elemen E ke dalam antrean Q
Catt : Elemen Q ditempatkan pada bagian belakang antrean dan antrean menjadi lebih panjang
Q = [ A, B, C, D]
REAR(INSERT(E,Q)) = E
FRONT(Q) = A
NOEL(Q) = 5
ISEMPTY(INSERT(E,Q)) = FALSE
4. REMOVE(Q)
Operator yang menghapus elemen bagian depan dari antrean Q dan antrean menjadi lebih pendek
Jika NOEL(Q) = 0 maka
REMOVE(Q) = ERROR ( UNDERFLOW)

 Penyajian dari antrean :
1. One way list
2. Array
 Menunjukkan bagaimana suatu antrean dalam array Queue dengan N elemen
1. Antrean mula-mula terdiri dari elemen AAA, BBB, CCC, DDD


1 2 3 4 5 6 7 8 9
FRONT(Q) = AAA : 1
REAR(Q) = DDD : 4

2. REMOVE(Q)


1 2 3 4 5 6 7 8 9

FRONT(Q) = BBB : 2
REAR(Q) = DDD : 4

3. INSERT(EEE,Q)

1 2 3 4 5 6 7 8 9

FRONT(Q) = BBB : 2
REAR(Q) = EEE : 5

KESIMPULAN :
Untuk setiap kali penghapusan nilai FRONT bertambah
Untuk setiap kali penambahan nilai REAR akan bertambah

berikut kode queue dengan linked menggunakan bahasa c

/* queue dengan single linked list*/

#include
#include

typedef struct simpul node;

struct simpul{
char data;
node *next;
};

typedef struct{
node *front;
node *rear;
}queue;

void inisial(queue *);
void enqueue(char x, queue *);
char dequeue(queue *);


main()
{
queue antrian;
char input;
int i;

puts("\t program QUEUE dengan SINGLE LINKED LIST ");
puts("\t created by: ACHMAD SAYFUDIN");
puts("\t =======================================");
inisial(&antrian);
for(i=0;i<5;i++){
fflush(stdin);
printf("data : ");
scanf("%c", &input);
enqueue(input,&antrian);
}
for(i=0;i<5;i++){
printf("%c ",dequeue(&antrian));
}

}

void inisial(queue *q)
{
q->front = NULL;
q->rear = NULL;
}

void enqueue(char x, queue *q)
{
node *p;
p = (node *)malloc(sizeof(node));

if(p==NULL){
puts("alokasi gagal");
}
else{//membuat node baru pertama
p->data = x;
p->next = NULL;
}

if(q->front==NULL){//jika tak ada linked sama sekali
q->front = p;
q->rear = p;
}
else{//jika linked list sudah ada
q->rear->next = p;
q->rear = p;
}
}

char dequeue(queue *q){
node *hapus;
char temp;

temp = q->front->data;//diambil datanya dulu
hapus = q->front;// arahkan hapus ke front

q->front = hapus->next;//hubungkan q->front dengan hapus->next jika data banyak

//jika queue data tunggal
if(q->front == NULL)
{
q->rear = NULL;
}

free(hapus);
hapus = NULL;

return temp;
}



METODE SORTING DENGAN BUBLE SORT DI BAHASA C/C++

selamat malam ini kali ini saya akan berbagi tentang sorting dengan metode buble sort. sebenarnya metodenya ada banyak tetapi yang lebih simple adalah dengan metode buble sort. untuk mencobanya silakan anda compile kode dibawah ini dan jalankan di komputer/ anda




#include"stdio.h"

main()
{
int a[6],i,k,j,tmp;
for(i=0;i<6;i++)
{printf("\ninput nilai ke-%d = ",i+1);
scanf("%d",&a[i]);
}

puts("urutkan data");

for(j=0;j<6;j++)
for(k=j+1;k<6;k++)
if(a[j]>a[k])
{ tmp=a[j];
a[j]=a[k];
a[k]=tmp;
}

for(i=0;i<6;i++)
{printf("\n");
printf("data ke-%d=%d",i+1,a[i]);
}
}

PROGRAM PENJADWALAN PROSES DENGAN ROUND ROUBIN YANG MENGGUNAKAN BAHASA JAVA

-luntas ilmu- berikut program penjadwalan proses dengan round roubin, ini merupakan tugas dari matkul sistem operasi saya dan ini tugas nya membuat program penjadwalan proses lumayan bingung sebenernya tetapi sabar membuahkan hasil ini dia hasilnya. :)

ini codenya:

Code:
import java.util.*;
class RR
{
Scanner sc=new Scanner(System.in);
int[] bur,rem,wai,ta;
int size,q,b=0,t=0,flag=0;
RR(int size)
{
this.size=size;
bur=new int[size];
wai=new int[size];
ta=new int[size];
rem=new int[size];
}
void get()
{
for(int i=0;i=q)
{
System.out.print("P"+(i+1)+"\t");
for(int j=0;j0)
wai[j]+=q;
}
}
else if(rem[i]>0)
{
System.out.print("P"+(i+1)+"\t");
for(int j=0;j0)
wai[j]+=rem[i];
}
}
}
for(int i=0;i0)
flag=1;
}while(flag==1);
for(int i=0;i


ini outputnya
OUTPUT
Enter the no of process:3
Enter burst time of P1:13
Enter burst time of P2:8
Enter burst time of P3:3
Enter quantum time:4
P1      P2      P3      P1      P2      P1      P1
Process Burst   Waiting Turnaround
P1      13      11      24
P2      8       11      19
P3      3       8       11
Average waiting time:10
Average Turnaround time:18  

Program Penjadwalan Proses Menggunakan Shortest Job First Dengan C++/ C

Program Penjadwalan Proses Menggunakan Shortest Job First Dengan C++

Berikut ini adalah source code program penghitungan waiting time, turn around time dan response time sistem penjadwalan proses menggunakan Shortest Job First dengan C++.

Ini listing programnya :


#include
#include
void main()
{
int i,j,n,brust_time[10],start_time[10],end_time[10],wait_time[10],temp,tot;
float avg;

printf("Enter the No. of jobs:\n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("\n \n Enter %d process burst time:\n",i);
scanf("%d",&brust_time[i]);
}

for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(brust_time[i]>brust_time[j])
{
temp=brust_time[i];
brust_time[i]=brust_time[j];
brust_time[j]=temp;
}
}

if(i==1)
{
start_time[1]=0;
end_time[1]=brust_time[1];
wait_time[1]=0;
}

else
{
start_time[i]=end_time[i-1];
end_time[i]=start_time[i]+brust_time[i];
wait_time[i]=start_time[i];
}
}
printf("\n\n BURST TIME \t STARTING TIME \t END TIME \t WAIT TIME\n");
printf("\n ********************************************************\n");
for(i=1;i<=n;i++)
{
printf("\n %5d %15d %15d %15d",brust_time[i],start_time[i],end_time[i],wait_time[i]);
}
printf("\n ********************************************************\n");
for(i=1,tot=0;i<=n;i++)
tot+=wait_time[i];
avg=(float)tot/n;
printf("\n\n\n AVERAGE WAITING TIME=%f",avg);
for(i=1,tot=0;i<=n;i++)
tot+=end_time[i];
avg=(float)tot/n;
printf("\n\n AVERAGE TURNAROUND TIME=%f",avg);
for(i=1,tot=0;i<=n;i++)
tot+=start_time[i];
avg=(float)tot/n;
printf("\n\n AVERAGE RESPONSE TIME=%f\n\n",avg);
getch();
}

ARTIKEL TENTANG APA ITU HEADER FILE DAN APA FUNGSI HEADER FILE DALAM PEMROGRAMAN KOMPUTER

-luntas ilmu- selamat sore hadir kembali dengan saya kayaknya akhir-akhir ini saya semangat blogging lagi nih :D untuk itu. langsung saja ku beri sedikit bacaan ringan tetap tentang pemrograman. :D kali ini saya akan bahas tentang header file yang ada dalam pemrograman komputer dan fungsinya apa sih ? nah biasanya header file itu berextensi *.h. File Header adalah file yang berektensi *.h, yaitu file bantuan yang digunakan untuk menyimpan daftar-daftar fungsi yang akan digunakan di dalam program. Bagi anda yang sering menggunakan bahasa pascal file header ini seperti unit, tetapi kalau di bahasa c/c++ file header seperti <stdio.h> . maka dari itu dalam setiap menulis kode program dalam bahasa c kita selalu mencantum kan #include <stdio.h> gunanya untuk apa lihat contoh ini :

silakan di ketik kode dibawah ini dan di run di kompi anda.
-----------------------------------------------------------------------------------------------------
jika diberi file header stdio.h

printf(" Asyiknya belajar pemrograman ") --nice berjalan lancar saat di compile

jika  TIDAK diberi file header stdio.h

printf(" Asyiknya belajar pemrograman ") --error yang berbunyi library printf tidak di ketemukan 

------------------------------------------------------------------------------------------------------
kenapa ? kok error karena sintak kode printf itu terletak di library atau file header printf jika kita tidak mencantumkan file header kita tidak bisa menggunakan fungsi yang kita inginkan contohnya printf tadi. Gimana ada sedikit gambaran belum :D atau tambah puseng hehehhe sabar pelan-pelan saja ... misal kita ingin menggunakan fungsi sin cos tangen di bahasa c kita lupa tidak menyertakan file header math.h apa yang terjadi sintak error lagi  .  itu lah fungsi dari file header untuk memanggil fungsi-fungsi tertentu yang nanti digunakan dalam menulis kode program. ingin tahu isinya file header coba kalian buka salah satu file header *.h yang ada di bahasa c nanti di buka open with di NOTEPAD ya ?? apa isinya pasti isinya adalah kode program fungsi-fungsi yang bisa digunakan jika kita menggunakan file header itu.

jika kurang jelas bisa di tanyakan di kotak komentar. :t 


TUTORIAL MENGIMPLEMENTASIKAN ALGORITMA BANKER DEADLOK SISTEM OPERASI DENGAN PEMROGRAMAN C/C++

-luntas ilmu- ini saya akan share tutorial dari algoritma banker untuk penanganan deadlock di sistem operasi. Sebenanya ini tugas matkul Sistem Operasi sih :D namun setelah saya pusing ngerjakan dan bingung udah ketemu algoritmanya langsung saja ane share supaya teman semua tidak merasakan kebingungan seperti saya. ini saya tulis dengan bahasa c bisa juga anda tulis dengan bahasa apapun selain c



ini outputnya :
output algoritma banker
output program banker

CARA MEMBUAT PSEUDOCODE SHORTEST PATH

selamat pagi kali ini kita belajar dengan pseudocode. Kenapa kok kita belajar ini karena antara flowchart dan pseudocode masih lebih gampang pseudocode dalam implementasi kan alur algoritma program, itu saja sih bedanya. cara membuat nya bagaimana ? cara membuat nya itu gampang kok. :

1. bahasa yang di gunakan lebih mendekati bahasa sehari-hari manusia
2. mudah dalam penulisan tidak ada gambar-gambar seperti flowcart
3. cuma seperti nulis alur program biasa (codenya).
nah kira-kira cuma itu cara membuatnya tergantung kasus yang diselesaikan, penulis sarankan gunakan pseudocode jika anda sudah mahir flowchart TAPI TIDAK DISARANKAN JIKA BELUM PAHAM FLOWCART MENGGUNAKAN PSEUDOCODE. :t  langsung saja ini ada contoh bagaimana menulis pseudocode ini soal membuat algoritma "SHORTEST PATH" apa sih itu :D ? yaitu suatu teknik algoritma mencari jarak terpendek dan tercepat.

PSEUDOCODE SHORTEST PATH

1.       Deklarasikan n(banyak node),asal,tujuan,relasi[][],jarak[][],y[],z[],Q,S.
2.       Input n,asal tujuan.
3.       Relasi[n][n],y[n],jarak[n][n],z[n.
4.       Input realasi,jarak
5.       Y[asal]=0,z[asal]=0
6.       Selama i=1 dan i<=n
Maka apakah I != asal
Jika ya maka y[i]=M,z[i]=0
Jika tidak kembali ke 6.
7.       Selama j=1;j<=n
8.       Apakah j != asal
                Jika YA apakah relasi[asal][j]==1
                                Jika YA, y[j]=jarak[asal][j],z[j]=asal
                                                Apakah j != tujuan
                                                         Jika YA Q.enqueue(j)
                Jika TIDAK kembali ke langkah 8.

9.       Apakah !Q.empty
Jika YA id=Q.dequeue()
10.   Selama j=1;j<=n
                Apakah j!= id
                                Jika YA, apakah relasi[id][j]==1
                                                Jika YA,Apakah y[j]>(y[id]+jarak[id][j])
                                                                                Jika YA maka y[j]=y(id)+jarak[id][j]
                                                                                                Z[j]=id
                                                Apakah(j != tujuan)&&(j!= asal)
                                                                Jika YA maka Q.enqueue(j)
Jika TIDAK, kembali ke langkah 10
11.   Jika Q.enqueue(j) terpenuhi maka kembali ke langkah 9 sampai                Q.empty
12.   Jika Q.empty maka id=z[tujuan] S.push(tujuan).
13.   S.push(id)
14.   Id = z[id]
15.   Apakah id != 0
                Jika YA kembali ke langkah 13
                Jika TIDAK,apakah  !S.empty
                                Jika YA cetak S.pop + “-”
                                Jika TIDAK cetak jarak MIN+ y[tujuan]

16.  END

gimana semakin paham belum teman-teman tidak ada penulisan baku dengan pseudocode tergantung kreasi intinya yang baca paham alur program kita, beda dengan flowcart yang wajib menggunakan notasi baku dari empunya :) semoga dapat menambah pengetahuan kita semua ya ammin.. :t

ALGORITMA BEBERAPA TEKNIK SEARCHING DALAM PEMROGRAMAN KOMPUTER

-LUNTAS ILMU- selamat pagi kali ini saya akan memberikan sedikit pemahaman tentang bagaimana algoritma atau logikanya dalam melakukan searching. Teknik ini dapat di gunakan di bahasa pemrograman apapun. Karena rata-rata semua searching logikanya seperti ini dan yang membedakan hanya sintak penulisannya saja. Langsung saja di baca dan di pahami penjelasan dari saya ini.

Teknik Searching

Proses pencarian à menemukan harga/data tertentu didalam sekumpulan harga yang bertipe sama.
Dalam proses pemrograman serching/pencarian biasanya digunakan untuk
-          proses update atau penghapusan data à sebelumnya melakukan proses pencarian data.
-          Penyisipan data pada sekumpulan data, jika data sudah ada maka proses penyisipan tidak diperkenankan. Jika data tidak ada maka proses penyisipan dilakukan àtujuan digunakan agar tidak terjadi duplikasi data

1. Tehnik  Pencarian Tunggal :
·         Tehnik Sequential Search / Linier Search
·         Tehnik Binary Search


PENCARIAN SEQUENTIAL
·         Merupakan algoritma pencarian yang sangat sederhana.
·         Proses pencarian beruntun adalah proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan dan  seluruh elemn sudah diperiksa.

13        16        14        21        76        21

Nilai yang dicari: 21
Maka elemen yang diperiksa : 13  16  14 21
Index ketemu : 4

Nilai yang dicari: 13
Maka elemen yang diperiksa : 13 
Index ketemu : 1

Nilai yang dicari: 15
Maka elemen yang diperiksa : 13  16  14 21 76 21
Index ketemu : 0

Algoritma dari proses Pencarian diatas adalah:
1.      Tentukan i=1, Ketemu = 0.
2.      Masukan Nilai X  à nilai  yang dicari.
3.      Jika Nilai[i] <> X maka   i=i+1, kembali kelangkah 2.
4.      Jika Nilai[i] = X maka Ketemu =i.
5.      Jika Ketemu = 0 maka Cetak “nilai X tidak ketemu”
6.      Jika tidak (Ketemu <>0)Cetak “nilai X ketemu pada posisi Ketemu”
7.      Selesai


Pencarian Binary Search
·         Metode pencarian yang diterapkan pada sekumpulan data yang sudah terurut (menaik maupun menurun)
·         Metode ini digunakan untuk melakukan pencarian secara cepat dengan data yang sudah terurut.


Konsep Pencarian Binary/Bagi Dua
·         Pilih Indek Kiri (Low) dan Indek Kanan (High)
·         Langkah 1:
Bagi dua elemen larik pada elemen tengah.
Elemen tengah adalah elemen dengan indek  middle=(low+high) div 2.
Elemen tengah (middle), akan membagi array menjadi 2 bagian yaitu:
ð  Bagian kiri, dengan index  LARIK[Low .. middle-1]
ð  Bagian Kanan, dengan index  LARIK[middle+1..High]
·         Langkah 2:
ð  Periksa apakah  LARIK[middle] = X ,  pencarian akan dihentikan sebab X sudah ditemukan
ð  Jika LARIK[middle] <> X, maka kita tentukan pencarian akan dilakukan disebelah kiri atau kanan.
§  Jika LARIK[middle] < X, maka pencarian dilakukan dibagian kiri LARIK
§  Jika LARIK[middle] > X, maka pencarian dilakukan di bagian kanan LARIK
·         Langkah 3:
Ulangi langkah 1 sampai dengan X ditemukan, atau low > high (menentukan ukuran larik sudah 0).


Ilustrasi Pencarian Bagi Dua.

81
76
21
18
16
13
10
7
1
2
3
4
5
6
7
8
Low






High


1.       Misalkan elemen yang dicari adalah X=18.
Langkah 1:
Low = 1 dan High = 8
Elemen tengah  Middle = (1+8) div 2 = 9 div 2 = 4

81
76
21
18
16
13
10
7
1
2
3
4
5
6
7
8
Low


Middle



High

Langkah 2:
Larik[4] = X ?  (18 = 18)  true à X ditemukan, pencarian dihentikan.

2.       Misalkan elemen yang dicari adalah X=16.
ITERASI 1
Langkah 1:
Low = 1 dan High = 8
Elemen tengah  Middle = (1+8) div 2 = 9 div 2 = 4
81
76
21
18
16
13
10
7
1
2
3
4
5
6
7
8
Low


Middle



High
kiri

kanan

Langkah 2:
Larik[4] = X ?  (18 = 16)  FALSE, sehingga diputuskan pencarian di kiri atau dikanan.
Jika  Larik[4] > 16 ?, (18 > 16)  TRUE, lakukan pencarian disebelah kanan dengan Low = middle+1 à 4+1 = 5   dan High = 8, Tetap.

16
13
10
7
5
6
7
8
low


High

ITERASI 2
Langkah 1:
Low = 5  dan High=8
Elemen tengah  Middle = (5+8) div 2 = 13 div 2 = 6
16
13
10
7
5
6
7
8
low
middle

High
Langkah 2:
Larik[6] = X ?  (13 = 16)  FALSE, sehingga diputuskan pencarian di kiri atau dikanan.
Jika  Larik[6] > 16 ?, (13 > 16)  FALSE, lakukan pencarian disebelah KIRI dengan Low = 5 (TETAP)  dan High = middle-1 = 5

16
5
Low/high

ITERASI 3
Langkah 1:
Low = 5  dan High=5
Elemen tengah  Middle = (5+5) div 2 = 10 div 2 = 5
16
5
middle

Langkah 2:
Larik[5] = X ?  (16 = 16)  TRUE  (X ditemukan , pencarian dihentikan)


3.       Misalkan elemen yang dicari X=100.
Gambarkan langkah-langkah penyelesaiannya?


Dari ilustrasi diatas dapat dibuat algoritma sebagai berikut:
(dengan data urut menurun/ descending)

1.       Masukan Bil yang dicari X
2.       tentukan low=1 dan high = N
3.       Tentukan nilai tengah : middle = (low + high) div 2
4.       Cek, jika LARIK[middle] = X maka  Nilai X yang dicari ditemukan,  kelangkah 8
5.       jika LARIK[middle] > X  maka low=middle+1, kelangkah 7
6.       jika LARIK[middle] < X  maka high=middle-1, kelangkah 7
7.       Jika low > high, “bil X tidak ditemukan” dan kelangkah 8, jika tidak kelangkah    3.
8.       selesai.


Tugas :
1.       buatlah algoritma binary search untuk data yang urut menaik / ascending. Dari algoritma diatas
2.       buatlah flowchartnya.



ALGORITMA bentuk lain (ada pada slide) à untuk data urut menaik/ascending
1. Low = 1 , High = N
2. Ketika Low <= High Maka kerjakan langkah No .3, 
    Jika tidak Maka kerjakan langkah No.7
3. Tentukan index tengah dengan rumus
    Middle= ( Low + High ) Div 2
4. Jika X < LARIK[middle] /Nil. Tengah Maka High = Mid –1
5. Jika X > LARIK[middle] /Nil. Tengah Maka Low = Mid +1
6. Jika X = LARIK[middle] /Nil. Tengah Maka Nil. Tengah = Nil. Yg  dicari
7. Jika X > High Maka Pencarian GAGAL


2. Tehnik Pencarian Nilai MAXMIN :
ð  Tehnik StaritMAXMIN
ð  Tehnik D and C

Teknik yangt digunakan untuk mencari nilai maksimum dan minimum dari sekumpulan  nilai.

  1. Tehnik Pencarian MAXMIN
Searching dengan Tehnik STRAITMAXMIN

Waktu tempuh yang digunakan untuk menyelesaikan pencarian hinggan mendapatkan solusi yang optimal  terbagi atas :
a.  Best Case
b. Average Case
c.  worst Case


Algoritma dari  Proses Pencarian adalah (ada pada slide):
1.       Masukan N, tentukan  i=1.
2.       Tentukan max dan min = A[i]
3.       i = 2
4.       Jika i<= N maka kelangkah 5, jika tidak kelangkah 8
5.       jika A[i] > max   maka   max=A[i] dan kelangkah 7
6.       jika tidak maka   (jika A[i] < min  maka   min   = A[i].
7.       i = i+1, ulangi langkah 4.
8.       cetak  max dan min

program straitmaxmin;
var
  i,N:integer;
  max,min : integer;
  A : array[1..10] of integer;
begin
   write('masukan N = ');  readln(N);
   for i:=1 to N do
     readln(A[i]);

   max := A[1]; min := A[1];

   for i:=2 to N do
    if A[i] > max then max:=A[i]
    else if A[i] < min then min := A[i];

   writeln;
   writeln('nilai max min= ',max:3, min:3);
end.
masukan N = 5
2
5
1
6
4

nilai max min =   6  1
-----------------
masukan N = 6
7
5
3
9
6
2

nilai max min =   9  2
Searching  dengan  teknik D and C. untuk kode program search anda bisa meluncur ke sini 



Formulir Kontak

Shipping & Returns

Email : wahyuumaya@gmail.com
Instagram : wahyuumaya
Telegram : wahyuumaya
Facebook : wahyuumaya
Whatsapp : Klik aja disini

Closet 2.0