Rabu, 13 Januari 2016

Pemanfaatan Teknologi Bergerak

                Teknologi Bergerak (Mobile Technology) adalah istilah yang digunakan untuk menjelaskan berbagai macam tipe dari teknologi komunikasi selular. Berikut beberapa kelebihan dan kekurangan teknologi bergerak (mobile technology):
Kelebihan:
  • Pengaksesan informasi setiap saat dan dimanapun: memungkinkan kita untuk bekerja, belanja atau bermain tanpa batasan waktu dan tempat (asal terhubung). 
  • Mobilitas tinggi tanpa kerumitan kabel (W-LAN) dan instalasi jaringan yang cepat.
  • Compatible yang tinggi dengan teknologi lain. 
  • Cocok untuk daerah yang belum ada infrastruktur. 
  • Reduksi biaya: dalam kasus pengembangan, pemindahan maupun perubahan konfigurasi LAN.
Kekurangan:
  • Harus LoS (Line of Sight). Apa itu LoS? Sight disini adalah “pandangan” dari perangkat customer (CPE) Anda ke menara radio (BTS) Anda. LoS itu “pandangan” yang tak terhalang dari CPE ke BTS. Teknologi yang membutuhkan LoS berarti memang membutuhkan arah pandang yang tidak ada gangguan sama sekali antara CPE dan BTS. 
  • Security: memberi perlindungan proteksi data dan sistem komputer untuk menghindari pengungkapan, perubahan, dan perusakan oleh pihak yang tidak berwenang. 
  • Interferences. 
  • Sensitif terhadap cuaca.
  • Keterbatasan jarak (10-100m). 
  • Izin penggunaan frekuensi: menggunakan frekuensi 2.4 GHz.

          Salah satu contoh pemanfaatan teknologi bergerak (mobile technology) adalah Mobile Banking. Mobile Banking merupakan adalah layanan berbasis internet yang memungkinkan Anda untuk melakukan transaksi perbankan dengan aman dan nyaman. Manfaat M-Banking (Mobile Banking) bagi pengguna adalah kecepatan, kemudahan dan kenyamanan dalam bertransaksi keuangan. Namun selain itu, manfaat juga didapatkan bagi penyedia layanan, yaitu dapat menekan biaya pengembangan fasilitas sehingga pihak perbankan yakin dapat menarik minat nasabah dengan memberi layanan yang sejenis. Dibalik keunggulan M-Banking tersebut ternyata hanya sepertiga pengguna ponsel di Indonesia yang memanfaatkan layanan ini untuk bertransaksi (Cellular-News, 2010).
Contohnya pada Bank Mandiri, terdapat sebuah layanan mobile banking pada smartphone (Blackberry, Android, dan Iphone) dengan tampilan menu yang menarik dan mudah digunakan yang disebut “Mandiri Mobile”. 


                Mandiri Mobile merupakan layanan e-banking untuk melakukan transaksi finansial dan non finansial dengan menggunakan menu transaksi dan tampilan menu, dimana aplikasi harus diunduh terlebih dahulu menggunakan handset telepon selular/komputer tablet serta teknologi 3G/GPRS/WIFI. Mandiri Mobile dapat digunakan oleh semua nasabah Bank Mandiri yang mempunyai rekening tabungan atau giro perorangan dan sudah terdaftar menjadi user mandiri sms dan oleh semua non nasabah, namun sebatas menu umum mandiri mobile dan tidak bisa melakukan login ke menu transaksi. Jika belum menjadi nasabah Bank Mandiri, sangat dianjurkan untuk mendaftar menjadi nasabah sekaligus user aktif mandiri sms ke cabang terdekat sehingga bisa menggunakan layanan penuh mandiri mobile.
                Aplikasi ini hanya dapat berfungsi pada satu kartu SIM (nomor telepon selular) yang telah terdaftar dan satu handset/alat telepon selular/komputer tablet (tidak termasuk iPad) yang telah digunakan untuk mengunduh aplikasi. Biaya akses layanan mandiri mobile adalah biaya data  (3G/GPRS/WIFI) yang ditetapkan oleh masing-masing penyedia jasa telekomunikasi serta fee transaksi yang dikenakan oleh penyedia jasa layanan. Pada tipe handset iPhone terdapat Biaya SMS pada permintaan OTP (one time password) sebesar Rp. 500,- per sms yang diterima. SMS OTP adalah 6 digit angka yang unik yang berlaku hanya untuk 1 (satu) kali transaksi.

Ada beberapa tahap yang harus dilakukan untuk menggunakan layanan ini, yaitu:
  • Nasabah dapat melakukan pendaftaran untuk mengunduh layanan mandiri mobile melalui layanan unduh aplikasi resmi mitra Bank Mandiri, seperti Blackberry App World (for Blackberry), App Store (for Iphone) dan Play Store (for Android). 
  • Selanjutnya, apabila aplikasi sudah selesai diunduh, maka nasabah wajib membuat password atau identitas rahasia yang akan digunakan setiap kali login ke dalam aplikasi. 
  • Untuk dapat melakukan transaksi keuangan, maka nasabah wajib terdaftar sebagai user aktif mandiri sms. Dikarenakan demi keamanan, setiap transaksi finansial wajib diotorisasi dengan PIN. PIN yang digunakan adalah PIN yang sama dengan PIN mandiri sms sehingga dapat digunakan nasabah untuk transaksi dengan channel SMS ketik maupun STK. 
  • Untuk pengguna iPhone, disamping menggunakan PIN mandiri sms juga ditambahkan dengan SMS OTP (one time password). SMS OTP adalah 6 digit angka yang unik yang berlaku hanya untuk 1 (satu) kali transaksi. OTP akan dikirim ke inbox, untuk memunculkan OTP berupa pop-up message, nasabah bisa masuk ke menu setting notification pada iPhone.

Semua telepon selular (termasuk smartphone) dan komputer tablet yang memiliki fasilitas 3G/GPRS/Wifi, sudah Java enabled, dan berbasis symbian, windows dan android dapat digunakan untuk mengunduh aplikasi mandiri mobile. Pada saat ini layanan baru tersedia untuk smartphone dengan platform Blackberry, iPhone dan Android dengan rincian Operating System sebagai berikut:
Blackberry
iPhone
                iOS 7 dan iOS 8
Android
                OS 2.1, OS 2.2 dan OS 2.3
                OS 3.2
                OS 4.0, OS 4.0.1, OS 4.1, OS 4.1.1, OS 4.1.2, OS 4.2, OS 4.2.1, OS 4.2.2, OS 4.3 dan OS 4.4
                OS 5.0, dan OS 5.1
* Apabila tipe handphone dan atau OS belum support, saat nasabah download akan mendapat pesan ’tipe handphone dan atau sistem operasi handphone Anda tidak dapat digunakan untuk mengakses layanan ini. Silahkan hubungi Call Mandiri 14000 atau (021) 52997777’

Dengan mandiri mobile, Anda dapat melakukan transaksi finansial (transfer, pembayaran, pembelian, dll), informasi lokasi cabang/ATM, informasi kurs dan fitur-fitur menarik lainnya.
Sebelum login, nasabah dapat menggunakan menu umum mandiri mobile untuk:
  • Daftar lokasi ATM dan Cabang. 
  • Rate untuk informasi nilai tukar dan suku bunga. 
  • Mandiri call 14000, akses untuk langsung menghubungi mandiri call 14000. 
  • Demo, untuk melihat contoh transaksi mandiri mobile. 
  • Setting, untuk mengubah password login, bahasa, pilihan koneksi, tampilan, dan ukuran font aplikasi.
Setelah login di layanan mandiri mobile, maka nasabah dapat memilih menu transaksi untuk:
  1. Fitur standar untuk akses rekening seperti transfer antar rekening, transfer antar bank, inquiry saldo, lihat 5 (lima) transaksi terakhir, dan penggantian PIN. 
  2. Pembayaran dan pembelian untuk:
    • Tagihan telepon: Telkom, kartu Halo, Matrix, IM3 Bright, XL/Xplor, Esia, FREN, dll. 
    • Isi ulang pulsa : Simpati, Mentari, IM3 Smart, Esia, XL/Bebas, FREN, dll. 
    • Kartu Kredit : Bank Mandiri, Citibank, HSBC, Standard Chartered, RBS, ANZ, dll.
    • Pembayaran Umum / Utilities lainnya : PLN, PAM, PBB, Pendidikan, Asuransi, Internet/TV Kabel, Kredit, Tiket Pesawat/Kereta Api, dll. 
    • Administrasi: perubahan PIN mandiri sms, perubahan daftar transfer, inbox.
Berikut beberapa informasi menu dan transaksi yang terdapat di mandiri mobile:
  1. Menu Transaksi Transfer antar Rekening Bank Mandiri.
  2. Menu Transaksi Transfer antar Bank – SKN. 
  3. Menu Transaksi Transfer antar Bank – Online. 
  4. Menu Transaksi Pembelian Isi Ulang Pulsa. 
  5. Menu Transaksi Pembayaran Tagihan. 
  6. Menu Favoritku. 
  7. Menu Lokasi ATM & Cabang. 
  8. Menu Informasi Kurs dan Suku Bunga. 
  9. Menu Kotak Pesan.
Didalam menu favoritku pada layanan mandiri mobile, kita dapat menyimpan data transaksi sebagai berikut:
  • Transfer: transfer antar rekening dan transfer antar bank. 
  • Tagihan rutin: telepon, PLN, PAM, kartu kredit, tv kabel, internet, asuransi dan pembayaran rutin lainnya. 
  • Isi ulang pulsa.

Ada beberapa keuntungan yang bisa didapatkan dengan menggunakan Mandiri Mobile, yaitu:
  • Memudahkan nasabah untuk melakukan transaksi karena menu lebih jelas, lebih mudah digunakan dan tampilan yang lebih menarik. 
  • Dapat digunakan nasabah dimana saja dan kapan saja karena diakses lewat telepon selular atau komputer tablet. 
  • Hemat dan singkat, karena terdapat menu transaksi Favoritku yang dapat menyimpan data transaksi nasabah sehingga alur transaksi menjadi lebih singkat. 
  • Personalized, karena setiap nasabah dapat memilih dengan tampilan foto pribadi di menu utama. 
  • Aman, karena setiap masuk ke dalam aplikasi harus memasukkan password atau identitas rahasia. 
  • Proses pendaftaran yang mudah dengan berbagai mekanisme pengunduhan aplikasi.


Referensi:
http://baru-mencoba-coba.blogspot.co.id/2014/02/artikel-mobile-technology_2389.html
http://fitria_okta.staff.gunadarma.ac.id/Downloads/files/32672/Pengantar+Teknologi+Mobile.ppt
http://juztowl.blogspot.co.id/2012/12/mobile-teknologi_8948.html
http://www.hsbc.co.id/1/PA_ES_Content_Mgmt/content/core/Main_Contents/HUB_PIB/PIB_Demo/pib_learningCentre_id/mobileweb/faq.html#mulai_a
http://jimfeb.ub.ac.id/index.php/jimfeb/article/viewFile/1144/1053
http://www.bankmandiri.co.id/article/mandirimobile.aspx
http://www.bankmandiri.co.id/article/faq-mm.asp

Jumat, 11 April 2014

Algoritma dan Pemrograman (REKURSIF)

Selamat malam semua, kali ini eta mau berbagi mengenai...




REKURSIF



Rekursif merupakan salah satu metode algoritma yang kerap digunakan dalam membuat perulangan, seperti halnya iterasi for, repeat .. until, do.. while, dan lainnya. Perbedaannya terletak dalam sifatnya yang memanggil dirinya sendiri, baik secara langsung ataupun melalui metode yang lainnya. Ciri masalah yang dapat diselesaikan secara rekursif adalah masalah itu dapat direduksi menjadi satu atau lebih masalah-masalah serupa yang lebih kecil.
Secara umum metode algoritma rekursif terdiri atas dua komponen utama, yaitu:
  1. Bagian induksi, merupakan satu atau lebih kasus yang menyelesaikan masalah serupa namun dengan ukuran data ataupun metode yang lebih sederhana.
  2. Bagian penyetop, merupakan satu atau lebih kasus yang paling sederhana dan solusinya tidak perlu lagi terjadi rekursi.
Supaya tidak terjadi rekursif yang tak berhingga, setiap langkah rekursif haruslah mengarah ke kasus penyetop. Cara bekerja algoritma rekursif ini adalah ketika sebuah metode rekursif dipanggil S(n), maka aksi ini akan di push ke stack yang ada di dalam register. Demikian pula ketika S(n) memanggil S(n-1) hingga S(k) yang merupakan komponen penyetop dipanggil maka barulah isi stack di TOP.
algoritma rekursif 
 
Dalam kehidupan sehari-hari banyak terdapat objek yang rekursif, contohnya yaitu: 
Daun Pakis, yang dibentuk oleh ranting-ranting daun yang mempunyai pola yang mirip dengan daun pakis itu sendiri. Setiap ranting daun disusun lagi oleh ranting daun dengan pola yang mirip. 
Selain itu, hal yang sama juga tampak pada Pohon Cemara.
Objek rekursif yang khas seperti Daun Pakis dan Pohon Cemara tersebut disebut Fraktal.

- Definisi rekursif diturunkan secara matematik. 
- Definisi yang tidak formal menyatakan bahwa sebuah objek dikatakan rekursif jika ia didefinisikan menjadi lebih sederhana dalam terminologi dirinya sendiri.




Perhatikan bahwa sebelum melakukan penambahan program, lakukanlah pemanggilan fungsi rekursif terlebih dahulu sampai fungsi rekursif mengembalikan nilai pasti ([Math Processing Error]). Setelah menghilangkan semua pemanggilan fungsi, penambahan baru dilakukan, mulai dari nilai kembalian dari fungsi yang paling terakhir. 

Dengan melihat kemiripan cara kerja serta kode dari fungsi faktorial dan kali, kita dapat melihat bagaimana fungsi rekursif memiliki dua ciri khas:
  1. Fungsi rekursif selalu memiliki kondisi yang menyatakan kapan fungsi tersebut berhenti. Kondisi ini harus dapat dibuktikan akan tercapai, karena jika tidak tercapai maka kita tidak dapat membuktikan bahwa fungsi akan berhenti, yang berarti algoritma kita tidak benar.
  2. Fungsi rekursif selalu memanggil dirinya sendiri sambil mengurangi atau memecahkan data masukan setiap panggilannya. Hal ini penting diingat, karena tujuan utama dari rekursif ialah memecahkan masalah dengan mengurangi masalah tersebut menjadi masalah-masalah kecil.

ANALISIS ALGORITMA REKURSIF

Referensi:
Rizki. (5 September 2012). Mengenal Algoritma Rekursif. http://rizki.info/2012/09/05/mengenal-algoritma-rekursif/. 11 April 2014
Munir, Rinaldi. (2011). Algoritma dan Pemrograman Dalam Bahasa Pascal dan C. Edisi Revisi. Bandung: Informatika.
Bertzzie. Rekursif-Dasar Analisis Algoritma. http://bertzzie.com/knowledge/analisis-algoritma/Rekursif.html#. 11 April 2014

Selasa, 04 Maret 2014

SELECTION SORT

Lanjutan yang kemarin yaa..


2. SELECTION SORT
Metode ini memiliki konsep memilih data yang maksimum / minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum / minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum / minimum berikutnya.


Algoritma Selection Sort beroperasi sebagai berikut :
1. Temukan nilai yang paling minimum (atau sesuai keinginan) di dalam struktur data. Jika ascending, maka yang harus ditemukan adalah nilai yang paling minimum. Jika descending, maka yang harus ditemukan adalah nilai yang paling maksimum.
2. Tukar nilai tersebut dengan nilai pada posisi pertama di bagian struktur data yang belum diurutkan.
3. Ulangi langkah di atas untuk bagian struktur data yang tersisa.


Contoh Program Selection Sort C++ (Ascending):
#include <iostream>
#include <conio.h>

using namespace std;

int data[10],data2[10];
int n;

void swap(int a,int b)
{
    int swap;
    swap = data[b];
    data[b] = data[a];
    data[a] = swap;
}

void Input()
{
    cout<<"Masukkan jumlah data yang diinginkan : ";
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<"Masukkan data ke-"<<(i+1)<<" : ";
        cin>>data[i];
        data2[i] = data[i];
    }
    cout<<endl;
}

void Tampil()
{
    for(int i=0;i<n;i++)
    {
        cout<<data[i]<<" ";
    }
    cout<<endl;
}

void Selection_Sort()
{
    for(int i=1;i<n;i++)
    {
        for(int j=n-1;j>=i;j--)
        {
            if(data[j]<data[j-1]) swap(j,j-1);
        }
    }
    cout<<endl;
}

int main()
{
    cout<<"---------------------------------------------"<<endl;
    cout<<"SELECTION SORT C++"<<endl;
    cout<<"---------------------------------------------"<<endl<<endl;
        Input();
    cout<<"Selection Sort : ";
        Tampil();
        Selection_Sort();
    cout<<"Hasil Pengurutan Selection Sort : ";
        Tampil();
    cout<<"---------------------------------------------"<<endl;

    getch();
}

Output Setelah di Run :



Referensi:
Munir, Rinaldi. (2011). Algoritma dan Pemrograman Dalam Bahasa Pascal dan C. Edisi Revisi. Bandung: Informatika.
Krisna, Putu. (23 May 2012). Sorting-Program Bubble Sort. http://belajarohbelajar.blogspot.com/2012/05/program-bubble-sort.html. 20 Februari 2014
Nurhayati, OD. (2010). Algoritma dan Pemrograman Sorting dan Searching. http://eprints.undip.ac.id/19736/1/sorting.pdf. 20 Februari 2014
Susanto, Ilham. (3 April 2013). Analisa Algoritma | Bubble Sort. http://buublesort.blogspot.com/2013/04/analisa-algoritma.html. 20 Februari 2014
Tunk, Tunk. (22 November 2013). Sekedar Berbagi. http://aina-tunk.blogspot.com/. 20 Februari 2014
Santoso, Rachmat. (3 May 2013). Algoritma Sorting (Algoritma dan Struktur Data). http://rachmatsn.blogspot.com/2013/05/algoritma-sorting-algoritma-dan.html. 20 Februari 2014

Jumat, 21 Februari 2014

Definisi Sorting (Pengurutan) dan BUBBLE SORT

SORTING (PENGURUTAN)
-> Sorting (pengurutan) adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. 

Masalah pengurutan dapat ditulis menjadi 2 jenis, yaitu:
1. Ascending (Tersusun / terurut secara menaik)
Diberikan larik L dengan n elemen yang sudah terdefinisi elemen-elemennya.
Urutan larik tersebut sehingga tersusun secara menaik (dari urutan nilai terkecil ke urutan nilai terbesar), yaitu: L[0] L[1] L[2] ... L[n-1]
2. Descending (Tersusun / terurut secara menurun)
Diberikan larik L dengan n elemen yang sudah terdefinisi elemen-elemennya.
Urutan larik tersebut sehingga tersusun secara menurun (dari urutan nilai terbesar ke urutan nilai terkecil), yaitu: L[0] L[1] L[2] ... L[n-1]

Contoh data yang belum terurut : 70, 12, 45, 10, 11, 60, 13, 33, 50
Ascending = 10, 11, 12, 13, 33, 45, 50, 60, 70
Descending = 70, 60, 50, 45, 33, 13, 12, 11, 10

*Pengurutan dikatakan STABIL, jika dua atau lebih data yang sama (identik) tetap pada urutan yang sama setelah pengurutan. Misalnya didalam sekelompok data integer berikut terdapat 3 buah nilai 12 (diberi tanda petik ', '', ''' untuk mengidentifikasi urutannya.
Contoh : 70, 12', 45, 10, 12'', 60, 12''', 33, 50
Dikatakan STABIL jika hasil pengurutannya menjadi : 10, 12', 12'', 12''', 33, 45, 50, 60, 70
Dikatakan TIDAK STABIL jika hasil pengurutannya menjadi : 10, 12'', 12', 12''', 33, 45, 50, 60, 70

ALGORITMA SORTING (PENGURUTAN)
-----------------------------------------------------------
Macam-macam algoritma sorting (pengurutan), yaitu:
1. Bubble Sort
2. Selection Sort
3. Insertion Sort
4. Heap Sort
5. Shell Sort
6. Quick Sort
7. Merge Sort
8. Radix Sort
9. Tree Sort 

Tetapi kali ini eta hanya akan membahas Bubble Sort saja, karena itulah tugas yang harus dikumpul kali ini *hahaha*

1. BUBBLE SORT
Diberi nama "bubble" karena proses pengurutan secara berangsur-angsur bergerak / berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelar bersoda. 

Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. 
- Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar (untuk pengurutan ascending). 
- Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar (untuk pengurutan descending).

Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau dari kiri ke kanan, tergantung jenis pengurutannya. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya.

Bubble Sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapainya perurutan yang telah diinginkan.

Algoritma Bubble Sort beroperasi sebagai berikut :
1. Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritma menghasilkan data dengan urutan ascending (A-Z), kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (A-Z), data ke-i < data ke-i+1.
2. Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dengan 2; 2 dengan 3; 3 dengan 4; 4 dengan 5 … ; n-1 dengan n.
3. Selesai satu proses, yang dimana kita sudah selesai membandingkan antara (n-1) dengan n. Setelah selesai satu proses, kita lanjutkan lagi proses berikutnya sesuai dengan aturan ke-1. Mulai dari data ke-1 dengan data ke-2, dan seterusnya.
4. Proses akan berhenti jika tidak ada pertukaran dalam satu proses.

Contoh Program Bubble Sort C++ (Ascending):
#include <iostream>
#include <conio.h>

using namespace std;

int data[10],data2[10];
int n;

void swap(int a,int b)
{
    int swap;
    swap = data[b];
    data[b] = data[a];
    data[a] = swap;
}

void Input()
{
    cout<<"Masukkan jumlah data yang diinginkan : ";
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<"Masukkan data ke-"<<(i+1)<<" : ";
        cin>>data[i];
        data2[i] = data[i];
    }
    cout<<endl;
}

void Tampil()
{
    for(int i=0;i<n;i++)
    {
        cout<<data[i]<<" ";
    }
    cout<<endl;
}

void Bubble_Sort()
{
    for(int i=1;i<n;i++)
    {
        cout<<"Proses ke-"<<(i+1)<<" : ";
        for(int j=n-1;j>=i;j--)
        {
            if(data[j]<data[j-1]) swap(j,j-1);
        }
        Tampil();
    }
    cout<<endl;
}

int main()
{
    cout<<"------------------------------------------"<<endl;
    cout<<"BUBBLE SORT C++"<<endl;
    cout<<"------------------------------------------"<<endl<<endl;
        Input();
    cout<<"Bubble Sort : ";
        Tampil();
        Bubble_Sort();
    cout<<"Hasil Pengurutan Bubble Sort : ";
        Tampil();
    cout<<"------------------------------------------"<<endl;

    getch();
}


Output Setelah di Run : 



Referensi:
Munir, Rinaldi. (2011). Algoritma dan Pemrograman Dalam Bahasa Pascal dan C. Edisi Revisi. Bandung: Informatika.
Krisna, Putu. (23 May 2012). Sorting-Program Bubble Sort. http://belajarohbelajar.blogspot.com/2012/05/program-bubble-sort.html. 20 Februari 2014
Nurhayati, OD. (2010). Algoritma dan Pemrograman Sorting dan Searching. http://eprints.undip.ac.id/19736/1/sorting.pdf. 20 Februari 2014
Susanto, Ilham. (3 April 2013). Analisa Algoritma | Bubble Sort. http://buublesort.blogspot.com/2013/04/analisa-algoritma.html. 20 Februari 2014
Tunk, Tunk. (22 November 2013). Sekedar Berbagi. http://aina-tunk.blogspot.com/. 20 Februari 2014
Santoso, Rachmat. (3 May 2013). Algoritma Sorting (Algoritma dan Struktur Data). http://rachmatsn.blogspot.com/2013/05/algoritma-sorting-algoritma-dan.html. 20 Februari 2014

Kamis, 06 Februari 2014

Program Searching Array C++

Proses pencarian (searching) merupakan proses menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan).
Algoritma pencarian yang paling sederhana terbagi menjadi 2, yaitu:
1. Sequential Search (Pencarian Beruntun)
2. Binary Search (Pencarian Bagi Dua)
Kali ini akan membahas pencarian (searching) data di dalam larik atau yang disebut "Array" secara beruntun (Sequential Search). Dinamakan pencarian beruntun karena prosesnya membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama, sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa.

#include <iostream>
using namespace std;

int main()

{
    cout<<"Program Searching C++\n\n";
    int a[10], indeks_larik[10], i, jumlah, n;
    jumlah=0;

    for(i=0;i<10;i++)
    {
        cout<<"Masukkan data di indeks ke-"<<i<<" : ";
        cin>>a[i];
    }
        cout<<"\nMasukkan nilai yang akan dicari : ";
        cin>>n;

    for(i=0;i<10;i++)
    {
        if (a[i]==n)
        {indeks_larik[jumlah]=i; jumlah++;}
    }
        cout<<"Data yang bernilai "<<n<<", jumlahnya ada : "<<jumlah<<endl;

    cout<<"Data tersebut terdapat di : \n";
    for(i=0;i<jumlah;i++)
    {
        cout<<"Indeks ke-";
        cout<<indeks_larik[i]<<endl;
    }

    return 0;
}


Referensi:
Munir, Rinaldi. (2011). Algoritma dan Pemrograman Dalam Bahasa Pascal dan C. Edisi Revisi. Bandung: Informatika.

Minggu, 02 Februari 2014

TIPS BELAJAR GITAR BAGI PEMULA

Halo selamat siang!!
Hari ini eta mau berbagi pengalaman yaa, lebih tepatnya sih pengalaman pribadi..

Bingung judulnya apaan, yang pasti ini berhubungan dengan alat musik yaitu GITAR :)
Mungkin "Tips Belajar Gitar Bagi Pemula" kali yaaa.. haha

Cerita sedikit, dulu sekitar kelas 2 atau 3 smp ya, bisa jadi kelas 1 smp, gitar yang ada dirumah jarang dimainkan, karenaa............ "nggak bisa".
Tapi, entah kenapa ada saatnya eta pengen bisa main gitar. Yang awalnya belajar dengan sendirinya, lalu dibantu papa untuk belajar petikannya juga dan sampai pada akhirnya bisa main gitar :)
Kalian bisa denger permainan gitarnya di soundcloud eta, ini linknya:
https://soundcloud.com/maretaputriviani

Ini tips belajar gitar untuk pemula dari eta :)
1. Kalian harus punya gitar yaa haha
2. Setel gitarnya (Stem Gitar), yang gunanya untuk menyamakan tinggi/rendahnya nada dengan nada dasar gitar agar enak didengar pada saat memainkannya dengan sebuah lagu. Biasanya di aplikasi android ada yang namanya "Guitar Tuner (Free)" atau bisa cari di google untuk aplikasi lain yang berhubungan dengan stem gitar. Sebelum kalian stem gitarnya, kalian harus tau nada-nada dasar gitar ditiap senar.
E = Senar ke-1 dipetik tanpa ditekan.
B = Senar ke-2 dipetik tanpa ditekan.
G = Senar ke-3 dipetik tanpa ditekan.
D = Senar ke-4 dipetik tanpa ditekan.
A = Senar ke-5 dipetik tanpa ditekan.
E = Senar ke-6 dipetik tanpa ditekan.
(NOTE: Senar ke-1 itu senar yang paling bawah dan senar ke-6 itu senar yang paling atas)
*Cara stemnya tinggal diputar senar gitarnya perlahan sampai nadanya terdengar sama seperti di guitar tuner. (Diputar ke kiri, nadanya akan semakin tinggi dan diputar ke kanan, nadanya akan semakin rendah)
3. Apapun yang bisa dilakukan dengan sendirinya silahkan dilakukan, CONTOHNYA: search/cari kunci atau chord gitar yang mudah terlebih dahulu, misalnya kunci A, Am, D, Dm, C, E, Em, G. Menurut eta itu kunci awal yang mudah untuk dipelajari. Usahakan ketika kita menekan senar, jari-jari kita tidak menyentuh senar yang lain, karena itu akan mempengaruhi bunyinya.
Eta sudah buat panduan/petunjuk untuk kunci atau chord gitarnya agar lebih mudah dimengerti seperti gambar dibawah ini:


4. Carilah sebuah lagu yang kunci atau chord gitarnya mudah.
*Saran: Dulu, waktu pertama kali eta belajar gitar, eta coba lagu Adele-Someone Like You yang kunci gitarnya G, D, Em, C.
5. Pelajari kunci atau chord tersebut secara rutin, karena untuk mendapatkan hasil yang maksimal harus ada usaha maksimal juga dong :) Oh iya, jangan pernah nyerah untuk main gitar, karena kemampuan setiap orang berbeda-beda, ada yang langsung bisa dan ada juga yang butuh waktu lama untuk bisa :) Kemarin, awal eta belajar gitar juga nggak langsung bisa, diujung jari-jari yang digunakan untuk menekan gitar terasa sakit. Tapi, lama kelamaan sudah terbiasa.
Intinya "Rutin"!
-Rutin untuk bolak-balik kunci, misalnya dari kunci A, ke kunci C, terus kembali lagi ke kunci A dan seterusnya. Jika sudah lancar, cobalah dengan kunci yang lainnya. Secara tidak langsung, kita sudah belajar untuk melancarkan perpindahan dari kunci gitar yang satu ke kunci gitar yang lain.
-Rutin untuk menghafal kunci gitar. Kalau lupa, search lagi. Lupa lagi? search lagi dan seterusnya.
-Rutin untuk mencoba lagu-lagu yang lain agar pengetahuan tentang kunci atau chord gitar kita bertambah.
-Rutin untuk mencari dan mempelajari kunci-kunci yang lain, termasuk kunci yang agak susah dan kunci yang sering disebut "Kunci Gantung".
-Rutin search/cari tutorial gitar di youtube, biar tambah mantepp :)

Lalu, "Yakin"!
Main gitar itu susah susah gampang, dibilang susah tapi nggak terlalu susah, dibilang gampang juga enggak. Intinya jangan dianggap terlalu gampang dan jangan dianggap terlalu susah :)
Yakinlah terhadap diri sendiri, yakinlah kalau kita bisa! Yakinlah dan tetap belajar!

Dan jangan lupa, "Enjoy"!
Berusahalah enjoy terhadap permainan gitarmu, nikmatilah tiap alunan nada yang keluar dari permainan gitarmu, karenaa..... akan lebih enak "taste" atau rasanya ketika mendengar seseorang bermain gitar dengan "feeling", dibandingkan dengan seseorang yang tidak punya feeling terhadap permainannya.

*Apabila kita sudah bisa memainkan gitar/rutin belajar gitar, pada saatnya nanti kita tidak perlu lagi melihat untuk melakukan perpindahan kunci, karena jari-jari kita/tangan kita akan dengan sendirinya/otomatis berpindah :) dan itu sangaaaaatttt menyenangkaaannnn!!!

Oh iyaa, eta juga punya sedikit info tentang CAPO GITAR nih bagi yang belum tau/belum menggunakannya..


SEMOGA DAPAT MEMBERIKAN MOTIVASI UNTUK KALIAN SEMUA :)
-SELAMAT MENCOBA!!-
By: Eta

Jumat, 31 Januari 2014

Fungsi, Prosedur dan Array

Fungsi dan Prosedur
Array
Array (larik) adalah suatu tipe data terstruktur yang dapat menyimpan banyak data dengan suatu nama dan tipe data yang sama serta menempati tempat di memori yang berbeda yang disebut elemen.

Setiap elemen mempunyai nilai indeks sesuai dengan urutannya, melalui indeks inilah kita dapat mengakses data-data tersebut. Indeks dari elemen array ini dimulai dari 0, bukan 1. Array dideklarasikan dengan tanda [ ] (bracket) yang digunakan untuk menunjukkan elemen array.