Rabu, 23 Agustus 2017

I can't compile codeblock in ubuntu

Haiii semua balik lagi, disini saya bakalan jelasin cara mengatasi codeblock yang tidak bisa compile di Ubuntu. Saat kita membuild dan ternyata output menjelaskan bahwa /bin/sh: l: g++: not found. Jangan panik karena tidak bisa compile.

Kalian cukup ketikkan code berikut di terminal ubuntu kalian:

sudo apt-get install g++

Tunggu sampai proses instalasi selesai, setelah selesai coba di compile kembali program yang ingin dijalankan.

Semoga berhasil :)

Rabu, 14 September 2016

Contoh Website yang Memiliki Antar Muka yang Bagus dan Menarik

Hallooooo..............
Disini saya akan menejelaskan salah satu antar muka yang menurut saya menarik, simpel, dan juga lengkap. Antar muka sendiri ada yang bagus dan buruk, kunci dari sebuah desain antar muka (user interface) website atau aplikasi yang bagus dan menarik adalah bagaimana pengguna (user) dengan mudah dan cepat memahami dalam menggunakan website/aplikasi tersebut. Prinsip dalam membuat desain antar muka (user interface) sangat penting karena jika terlalu membingungkan user harus belajar lagi dalam menggunakannya. 

Contoh website yang menarik menurut saya adalah Efishery. 


Apa itu Efishery? Efishery sendiri adalah sebuah website yang digunakan untuk media penjualan alat pemberian pakan ikan otomatis. Menurut saya website ini sangat interaktif, konsisten, dan juga fitur-fiturnya lengkap. Website ini berisikan penjelasan/deskripsi dari alat/sistem ini. Mulai dari fungsi alatnya sendiri, fitur-fitur, review customer, contact, dan juga video interaktifnya. Disini saya mengatakan website ini bagus karena website ini digunakan atau diakses untuk semua orang, terutama untuk orang dewasa, pembudidaya ikan, dan lainnya. Di website ini juga disediakan media tanya jawab untuk user.




Namun ada satu hal yang membuat bingung untuk pemesanan alat tersebut karena pada halaman awal tidak ada halaman/link untuk pemesanan, kita harus memilih menu Promo di ujung kanan untuk menampilkan form pemesanan alat.


Dari segi tampilan dan penjelasan menurut saya sangat simpel,dan juga menarik untuk pemula seperti saya untuk memahami apa isi website tersebut. Untuk warnanya sendiri website ini hanya menggunakan 3 warna yang padu, sehingga tidak membuat pusing user. Apalagi untuk para pembudidaya yang tertarik atau ingin membeli alat ini yang notabenenya adalah orang tua. Dengan adanya fitur-fitur itu sudah cukup untuk menunjang sebuah website yang dikatakan baik, yaitu mudah dimengerti. Dengan banyaknya user yang melihat website dan tertarik untuk membeli alat ini dapat meningkatkan produktifitas penjualan untuk produsen dan juga peningkatan produktifitas untuk konsumen dalam pembudidayaan ikan.
Yaa, sekian penjelasan dari saya untuk website Efishery, kalau teman-teman punya pendapat lain atau ingin sharing website lain yang memiliki antar muka yang lebih bagus, temen-temen semua bisa komentar di postingan saya ini, Terima kasih.....


Minggu, 21 Februari 2016

Algorithme Sorting Radix Sort dan Codingan C++



Radix sort merupakan salah satu algoritma yang mengklasifikasikan data sesuai dengan kategori terurut, dan seterusnya sesuai kebutuhan, lalu subkategori-kategori tersebut digabungkan kembali, dalam radix sort dimana dalam prosesnya tidak melakukan perbandingan antar data, dan tiap kategori dilakukan pengklasifikasian lagi. Algoritma radix sort dapat direpresentasikan dalam berbagai cara, terutama bagian bucket-nya. Bucket data dapat direpresentasikan dalam bentuk array atau queue.
Berikut ini adalah contoh penggunaan algoritma radix sort untuk pengurutan sebuah kumpulan bilangan bulat positif, dengan jumlah digit maksimal 3 :
241 076 863 387 082 744 232 956 674
Pertama kali data dibagi-bagi sesuai dengan digit terkanan (nilai satuan):
241
076
863
387
082
644
232
956
774
Kemudian dikategorikan Digit Isi
0
-
5
-
1
241
6
076, 956
2
082, 232
7
387
3
863
8
-
4
674, 744
9
-
Kemudian diurutkan kembali, dan dibagi-bagi sesuai nilai tengah (nilai puluhan):
241
082
232
863
674
744
076
956
387
Kemudian dikategorikan Digit Isi
0
-
5
956
1
-
6
863
2
-
7
076, 674,
3
232
8
082, 387
4
241, 744
9
-
Kemudian diurutkan kembali, dan dibagi-bagi sesuai nilai terkiri (nilai ratusan):
232
241
744
956
863
076
674
082
387
Kemudian dikategorikan Digit Isi
0
076, 082
5
-
1
-
6
674
2
232, 241
7
744
3
387
8
863
4
-
9
956
Kemudian dikategorikan Digit Isi
076
082
232
241
387
674
744
863
956

Maka data nilai sudah terurut. Berikut bentuk codingan untuk Radix sort:
#include <bits/stdc++.h>
using namespace std;
void gen_array(int *A){
            cout << "Generated array : \n";
            for(int i = 0; i<10; i++){ //fungsi void gen_array untuk mentukan data yang habis dibagi 1000 dan disimpan ke array A
                        A[i] = rand()%1000;
                        cout << A[i] << " ";
            }
            cout << endl; //newline
}
void radix_sort(int *A){
vector<int> ember[10];  //fungsi untuk menyediakan tempat untuk mengelompokan data
            int maks = 0, derajat = 1; //derajat 1= satuan
            for(int i = 0; i < 10; i++)
                        if(maks < A[i]) maks = A[i]; //fungsi untuk mencari nilai maksimal dari data
                        while((maks/derajat) > 0) //looping akan terus berulang sampai pembagian maks/derajat hasilnya 0, sehingga looping akan berhenti ketika melebihi data maksimal
            {         
                        for(int i = 0; i < 10; i++)
                        {                                                                                                                     
                                    ember[A[i]/derajat % 10].push_back(A[i]); //fungsi untuk mengelompokan angka terakhir pada bilangan di array A dan dimasukan  ke dalam tempat yang sudah disediakan/embernya.
                        }
                        int counter = 0;
                        for(int i = 0; i < 10; i++)
                        {         
                        if(!ember[i].empty()) //program akan berjalan jika ember tidak kosong
                                    {         
                                                for(int j = 0; j < ember[i].size(); j++) //looping sampai banyaknya data dalam indeks ember
                                                {
                                                            A[counter] = ember[i][j]; //data dalam ember, disimpan ke array. Ex:  buat ember baru untuk menampung nilai awal untuk j=0 dan i=1 maka yang diambil dimasukkan maka akan jadi nilai yang terurut
                                                            counter++;  //counter bertambah sehingga nilai j dan i juga akan bertambah
                                                }
                                    }
                        }
                        for(int i = 0; i < 10; i++)
                                    ember[i].clear();  //semua data dimasukan ke array A, array ember kosong
                        derajat*=10;  //setelah perulangan data terakhir selesai, derajat dikali untuk mengelompokan nilai tengah, begitu seterusnya sampai angka pertama selesai dikelompokkan ke array A
            }
}
int main(){
            int *A = (int*) malloc(10 * sizeof(int)); //menyediakan 10 tempat untuk data yang akan diurutkan
            gen_array(A); //memanggil fungsi
            radix_sort(A);
            cout << "\nHasil sorting\n";
            for(int i = 0; i < 10 ; i++)
                        cout << "indeks ke-" << i << " : " << A[i] << endl; //menampilkan data yang sudah terurut
            return 0;
}