Thursday, January 14, 2016

Pemanfaatan Teknologi Bergerak

1.      Pengertian Teknologi Bergerak

Teknologi komunikasi mobile adalah teknologi komunikasi yang bergerak, artinya teknologi yang sudah tidak menggunakan penghubung kabel (nirkabel) lagi dalam penggunaan teknologi tersebut. Tekonologi komunikasi mobile dapat dikatakan jaringan tanpa kabel yang penggunaannya menggunakan penghubung sinyal. Teknologi komunikasi mobile ini adalah perkembangan dari teknologi komunikasi nirkabel sendiri yang semakin mengembangkan diri, di era kebutuhan orang yang ingin terus berkomunikasi dengan siapa saja dan kapan saja ini. Perangkat komunikasi mobile ini hanya bisa digunakan pada handphone dan sejenisnya. Dan pada saat ini komunikasi mobile adalah salah satu yang digemari oleh seluruh masyarakat dan sudah merupakan kebutuhan dari setiap manusia yang ingin terus berkomunikasi sebagai makhluk sosial.

Jaringan komunikasi dan arsitektur pada komunikasi mobile diantaranya adalah :
  1. Sistem jaringan DECT (Digital Enhanced Cordless Telecommunication) merupakan sistem jaringan komunikasi mobile yang memiliki standar teknologi akses radio yang dikembangkan dengan tujuan memciptakan sebuah sistem yang dapat membuka akses ke dalam jaringan telekomunikasi mobile.
  2. Sistem PHS (Personal Handy-Phone System) merupakan sistem jaringan mobile  yang menggunakan standard komunikasi cordless digital yang perkembangannya menggunakan teknologi wireless.
  3. GSM (Global System of Mobile) merupakan jaringan yang muncul pada komunikasi mobile untuk pertama kalinya. Jaringan GSM memanfaatkan gelombang mikro dengan pengiriman sinyalnya berdasarkan pembagian waktu, dengan tujuan agar informasi yang dikirimkan dapat sampai ke tempat tujuan tanpa ada gangguan.
  4. Jaringan DCS (Digital Celluler System).
  5. GPRS (General Packet Radio Service) merupakan komunikasi data yang diaplikasikan melalui jaringan komunikasi bergerak.
  6.  EDGE (Enhanced Data Rate for Global Evolution) merupakan perkembangan dari jaringan GSM untuk memberikan sumber daya pada kanal radio secara dinamis.
  7. Jaringan CDMA (Code Division Multiple Access).
  8. UMTS (Universal Mobile Telecommunications System) atau yang biasa disebut dengan Wideband Code-Division Multiple Access atau WDCMA merupakan teknologi yang menggunakan Wideband-AMR (Adaptive Multi Race) untuk kodifikasi suara sehingga kualitas suara yang didapat menjadi lebih baik dari generasi sebelumnya.

2.      Perkembangan Teknologi Bergerak

Perkembangan Teknologi Bergerak pada masa lalu hingga kini, dimulai dengan adanya penggunaan 1G, ini merupakan tanda dari perkembangan komunikasi mobile, tetapi pada masa ini 1G merupakan generasi pertama yang muncul dan masih buruknya percakapan yang ditimbulkan oleh pengguna 1G ini. Tetapi dari awal inilah teknologi handphone canggih bermunculan.

Selanjutnya generasi ke-dua yakni 2G yang merupakan lanjutan dari 1G. Pada penggunaan 2G, sudah adanya komunikasi yang berjenis SMS (pesan singkat) yang dapat di lakukan walaupun masih terbatas dalam pengiriman data nya. Generasi Selanjutnya 2.5G, pada era ini merupakan masa transisi sebelum beralih ke 3G. Pada era 2.5G menawarkan kapasitas dari transmisi sebuah data yang lebih besar. Dan pada era ini dikenal dengan layanan GPRS dengan pengiriman data yg memiliki kecepatan 56 kbps – 115 kbps. Selanjutnya teknologi 2.75G yang pada teknologi ini merupakan masa transisi sebelum menginjak ke 3G. Pada era ini teknologi tersebut muncul dengan istilah EDGE  merupakan data yang berbasis (Enhanced data for global evolution) yang memiliki kecepatan yang semakin tinggi, yaitu 236.8 kbps.

Setelah itu muncullah masa transisi teknologi 3G, di era ini menawarkan kecepatan data yang lebih dan cepat sekaligus canggih, teknologi 3G ini dapat berupa video conference dapat melakukan downoad lagu dsb. Akses kecepatan internet juga tinggi hingga dapat streaming audio video. Selanjutnya teknologi 3.5G merupakan transisi menuju ke 4G. Teknologi pada masa ini memiliki kecepatan yang semakin tinggi, dapat mengupload, dan mendownload dengan kecepatan yang mencapai 5.8 mbps untuk mengupload dan transfer data yang dipake ialah HSPA.

Teknologi terakhir ialah 4G, pada teknologi ini berbasis layanan aman dan berbasis IP yang disebut Internet Protocol. Internet dengan kecepatan 00 mbps dengan streaming, dan bisa melakuan game online. Yang pertama pengembangan LTE dan yang kedua ialah pengembangan Wifi. Ini semua merupakan masa kemajuan dari teknologi bergerak dari 1G hingga 4G.


3.    Manfaat Teknologi Bergerak dalam Personal

Komunikasi bergerak saat ini memiliki peranan dan manfaat yang penting, seperti yang sudah kita ketahui saat ini sudah banyak pengguna teknologi mobile yang sudah memakai teknologi ini dengan alasan tertentu. Selain untuk dapat mengirimkan SMS pesan singkat, manfaat teknologi mobile bergerak dalam personal seperti memudahkan para penggunanya untuk mengirimkan pesan yang panjang dan penting atau bersifat formal. Dengan menggunakan teknologi mobile bergerak ini tidak perlu menggunakan komputer untuk mengirimkan pesan, cukup di seluler yang kita miliki saja sudah dapat mengirimkan sebuah pesan ke internet. Dan memudahkan kita untuk membrowsing dari teknologi mobile, atau mengupload dari mobile mereka masing-masing apalagi sekarang sudah dipakainya layanan jaringan 3G. Dapat melihat siaran televisi juga di mobile kita atau mendengarkan radio dan streaming juga dapat dilakukan dengan menggunakan teknologi komunikasi mobile ini. Ini memiliki manfaat yang sgt besar. Manfaat bagi pembisnis, tentu mengalami manfaat yang tinggi juga. Para pembisnis dapat mengupload produk produk mereka yang akan di tampilkan di account mereka dengan mengupload video dengan menggunakan Komunikasi Mobile, teknologi mobile ini tidak membuat ribet para pembisinis nya. Manfaat dalam komunikasi tentunya sudah tidak diragukan lagi, dengan adanya teknologi ini semakin mudahnya kita untuk berkomunikasi dengan orang lain, dengan menelfon ataupun menggunakan 3G video call yang dapat dilakukan di teknologi mobile ini. Manfaat komunikasi mobile dalam aspek politik, penyebaran SMS untuk mendukung salah satu partai baru-baru ini merupakan salah satu contoh dalam pemanfaatan teknologi komunikasi mobile di bidang poilitk (aksi kampanye melalui teknologi komunikasi mobile). Selain itu, pembicaraan politik melalui teknologi komunikasi mobile juga sering dilakukan oleh pejabat pemerintahan yang mungkin tidak bisa hadir dalam rapat karena harus menjalankan tugas baik di luar kota maupun di luar negeri.

4.      Pengaruh Teknologi Bergerak

Perkembangan layanan 1G hingga 4G membuat perilaku konsumen terus berkembang dan berusaha sebisa mungkin untuk menyesuaikan dirinya dengan sistem layanan tersebut agar sistem yang mereka punya dalam berkomunikasi tidak membuatnya ketinggalan zaman dalam menjalin hubungan atau komunikasi dengan orang lain. Pengaruh lain dari teknologi bergerak yaitu dapat membantu kita dengan mudahnya mengakses internet dengan menggunakan teknologi komunikasi mobile yang kita punya, seperti handphone yang dimana dengan menggunakan handphone saja orang sudah dapat mengakses internet dengan kecepatannya yang lumayan tinggi. Untuk membrowsing, mengupload ataupun mendownload apapun yang diinginkan dengan menggunakan teknologi ini. Dengan dibantu teknologi 3G dan 4G yang membantu kecepatan dalam mengakses internet dalam teknologi mobile.


Masuknya sistem layanan baru dalam teknologi komunikasi mobile membuat masyarakatnya berlomba-lomba mencari tahu dan ingin memiliki sistem tersebut agar tidak terlihat kuno dan mempermudah mereka dalam menjalankan kegiatan komunikasi mereka dengan siapa saja, dimana saja, kapan saja, dan lewat media terbaru yang disediakan oleh layanan komunikasi mobile yang melakukan perkembangannya. Sehingga kegiatan mereka yang mereka jalankan sehari-hari dapat dipermudah dengan adanya teknologi bergerak tersebut. 

Saturday, April 12, 2014

Rekursif

Rekursif merupakan suatu teknik pemograman yang mengizinkan seorang pemogram untuk menggunakan istilah dalam menyatakan operasi dalam kaitan dengan dirinya sendiri.
Di dalam C++, rekursif mengambil bentuk suatu fungsi yang memanggil diri sendiri dengan memasukkan suatu nilai yang lebih sederhana dan memperoleh hasil dengan masukkan yang sederhana dengan menerapkan operasi yang sederhana untuk mengembalikan nilai masukkan yang lebih sederhana.
Salah satu konsep paling dasar dalam ilmu komputer dan pemrograman adalah pengunaan fungsi sebagai abstraksi untuk kode-kode yang digunakan berulang kali. Kedekatan ilmu komputer dengan matematika juga menyebabkan konsep-konsep fungsi pada matematika seringkali dijumpai. Salah satu konsep fungsi pada matematika yang ditemui pada ilmu komputer adalah fungsi rekursif: sebuah fungsi yang memanggil dirinya sendiri.
Kode berikut memperlihatkan contoh fungsi rekursif, untuk menghitung hasil kali dari dua bilangan:
def kali(a, b):
    return a if b == 1 else a + kali(a, b - 1)
Bagaimana cara kerja fungsi rekursif ini? Sederhananya, selama nilai b bukan 1, fungsi akan terus memanggil perintaha + kali(a, b - 1), yang tiap tahapnya memanggil dirinya sendiri sambil mengurangi nilai b. Mari kita coba panggil fungsi kali dan uraikan langkah pemanggilannya:
kali(2, 4)
  -> 2 + kali(2, 3)
  -> 2 + (2 + kali(2, 2))
  -> 2 + (2 + (2 + kali(2, 1)))
  -> 2 + (2 + (2 + 2))
  -> 2 + (2 + 4)
  -> 2 + 6
  -> 8
Perhatikan bahwa sebelum melakukan penambahan program melakukan pemanggilan fungsi rekursif terlebih dahulu sampai fungsi rekursif mengembalikan nilai pasti (2). Setelah menghilangkan semua pemanggilan fungsi, penambahan baru dilakukan, mulai dari nilai kembalian dari fungsi yang paling terakhir. Mari kita lihat contoh fungsi rekursif lainnya, yang digunakan untuk melakukan perhitungan faktorial:
def faktorial(n):
    return n if n == 1 else n * faktorial(n - 1)
Fungsi faktorial memiliki cara kerja yang sama dengan fungsi kali. Mari kita panggil dan lihat langkah pemanggilannya:
faktorial(5)
  -> 5 * faktorial(4)
  -> 5 * (4 * faktorial(3))
  -> 5 * (4 * (3 * faktorial(2)))
  -> 5 * (4 * (3 * (2 * faktorial(1))))
  -> 5 * (4 * (3 * (2 * 1)))
  -> 5 * (4 * (3 * 2))
  -> 5 * (4 * 6)
  -> 5 * 24
  -> 120
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.
Setiap fungsi rekursif yang ada harus memenuhi kedua persyaratan di atas untuk memastikan fungsi rekursif dapat berhenti dan memberikan hasil. Kebenaran dari nilai yang dihasilkan tentu saja memerlukan pembuktian dengan cara tersendiri. Tetapi sebelum masuk ke analisa dan pembuktian fungsi rekursif, mari kita lihat kegunaan dan contoh-contoh fungsi rekursif lainnya lagi.
Pada beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi. Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan tejadinya overflow pada stack, yang berarti stack tidak lagi mampu menangani permintaan pemanggilan fungsi karena kehabisan memori stack. Memori stack adalah suatu area memori yang dipakai untuk variable lokal untuk mengalokasikan suatu memori ketika suatu fungsi dipanggil. 
Berikut bentuk umum dari fungsi rekursif :
              Nama_fungsi(parameter_list)
              {
                   ...
                   Nama_fungsi(parameter_list);
                   ...
               }
Contoh sederhana dari fungsi rekursif :
               void recurse()
               {
                     recurse(): /* Pemanggilan fungsi dirinya sendiri */
               }
               int mai()
               {
                     recurse(): /* Set pengulangan */
                     return 0;
               }
Cara terbaik untuk berpikir tentang rekursif adalah bahwa setiap panggilan fungsi adalah satu proses yang dilaksanakan oleh komputer. Jika kita berpikir tentang suatu program yang dilaksanakan oleh suatu kelompok orang yang dapat memberikan informasi tentang status dari suatu task dan instruksi pada hasil task, yang dimana stiap panggilan fungsi yang berulang merupakan permintaan berikutnya untuk mengikuti set instruksi yang sama di beberapa bagian dari task selagi orang pertama menunggu hasil.
Pada saat tertentu, kita akan kehabisan orang-orang untuk menyelesaikan instruksi, sama seperti fungsi-fungsi rekursif yang kehabisan ruang di tumpukkan. Dimana perlu adanya suatu cara untuk menghindari hal ini. Untuk menghentikan satu rangkaian panggilan rekursif, suatu fungsi akan memiliki suatu kondisi yang mengendalikan kapan fungsi itu akan berkahir memanggil diri sendiri. Kondisi ini sebagai kasus dasar dari fungsi. Maksudnya ialah jika statemet memeriksa beberapa variabel untuk suatu kondisi (yang kurang dari nol atau lebih besar) dan jika kondisi itu adala benar, maka tidak akan diizinkan fungsi untuk memanggil diri sendiri lagi.
Contoh sederhana dari fungsi rekursif yang dibatasi oleh kasus tertentu :
           void count_to_ten (int count)
           {
                     if (count < 10)
                    {
                          count_to_ten (count +1);
                    }
            }
Tujuan program ini menghentikan hitungan ketika hitungan sudah tidak lagi kurang dari sepuluh. Ini adalah suatu hal yang baik karena ini berarti jika kita mempunyai satu masukan lebih besar dari sepuluh, kita akan berhenti dengan segera. Jika kita memilih untuk berhenti ketika hitungan sampai dengan sepuluh, lalu jika fungsi itu memanggil masukan ke-11, hal itu akan sebagai isyarat ke memori sebelum berhenti.
Bagaimana bila satu fungsi bisa mencetak angka-angka 123456789987654321 menggunakan pengulangan untuk menulis suatu fungsi untuk lakukan hal ini? Solusi sederhan adalah dengan menjaga kenaikan suatu variabel yang dilewatkan, kemudian menjadi variabel keluaran yang berikutnya: yakni satu kali sebelum fungsi rekursif dan ketika setelah fungsi rekursif.
              void printum (int begin)
              {
                     printf("%d", begin);
                     if (begin < 9)
                     {
                           printnum (begin + 1);
                      }
                      printf("%d", begin);
               }
Fungsi ini bekerja karena fungsi akan mengalami dan mencetak angka-angka mulai 1 sampai 9, kemudian setiap fungsi printnum berkahir akan dilanjutkan dengan pencetakkan nilai mulai dari 9 sampai 1.

Sunday, February 23, 2014

Bubble Sort - Selection Sort


Metode bubble sort merupakan metode tersederhana untuk melakukan pengurutan data, tetapi memiliki kinerja yang terburuk untuk data yang besar. Pengurutan dilakukan dengan membandingkan sebuah bilangan dengan seluruh bilangan yang terletak sesudah bilangan tersebut. Penukaran dilakukan kalau suatu kriteria dipenuhi.
Sebagai contoh, terdapat kumpulan seperti berikut : 25 57 48 37 12 92 80 33
Contoh proses pengurutan dengan urut naik ditunjukkan pada gambar di bawah ini :

Pengurutan Tahap Pertama


Pengurutan Tahap Kedua

Jika jumlah data adalah n, maka terjadi n-1 tahap pengurutan. Berarti pada contoh di di atas diperlukan 7 tahap pengurutan. Gambar di bawah ini memperlihatkan setelah 7 tahap pengurutan dilakukan.


Implementasi dalam Bahasa Pemograman C++





Metode Selection Sort pada dasarnya merupakan kombinasi antara sorting dan searching. Metode ini merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Didalam prosesnya, selection sort mencari nilai data terbesar atau terkecil dan kemudian menempatkannya pada posisi yang sebenarnya dimulai dari data diposisi 0 hingga data diposisi N-1. Selama proses pembandingan dan pengubahanhanya dilakukanpada indeks pembanding saja, Pertukaran data secara fisik hanya terjadi pada akhir proses. 

Implementasi dalam Bahasa Pemograman C++







Sunday, February 9, 2014

Searching

Soal:
Buatlah algoritma untuk program yang dimana bila memasukkan user sebanyak 10 kali untuk array yang berjumlah 10 elemen!

Jawab:
#include <iostream>

using namespace std;

int main()
{
    int larik [10], A;
    cout<<"Masukkan Angka"<<endl;
    for (int i=0; i<10; i++)
    {
     cout<<"Angka ke-"<<1<<"=";
     cin>> larik [i];
    }
    cout<<"Masukkan angka yang hendak dicari=";
    cin>>A;
    int banyak = 0;
    for (int i=0; i<10; i++)
    {
        if (A==larik [i])
        {banyak++}
    }
        cout<<"Angka yang Anda cari sebanyak= "<<banyak;
}

Saturday, February 1, 2014

Perbedaan Fungsi, Prosedur, dan Array

Pengertian :

-Array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks.

-Fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang dijalankan.

-Prosedur adalah suatu bagian yang digunakan untuk mengenali subprogram di dalam suatu program.


Tipe Penulisan :

-Fungsi ditulis dengan bagian tipe fungsi berupa int, double, dan sebagainya.

-Prosedur ditulis dengan bagian tipe fungsi berupa void (void berarti tanpa nilai balik).

-Array ditulis dengan bagian tipe fungsi berupa diawali dengan kata cadangan Array diikuti oleh tipe index yang diletakkan diantara tanda " [ ] " diikuti lagi oleh kata cadangan of dan tipe arraynnya, seperti byte, word, dan sebagainya.



Pemanggilan :

-Fungsi dia akan mengembalikan suatu nilai pada pemanggilnya sehingga fungsi dapat mengembalikan suatu nilai yang dapat digunakan dalam ekspresi.



-Procedure dia tidak akan mengembalikan nilai apapun pada fungsi pemanggilnya dikarenakan prosedur tidak memiliki nilai yang berhubungan dengan namanya.



-Array  dia akan mendeklarasikan terlebih dahulu suatu larik sebagai tipe larik integer dengan jumlah elemen maksimum yang diberikan. Yang dimana nilai elemen larik ini harus berisi nilai integer.



Dari contoh diatas, Anda bisa perhatikan char hari [7] [10] = {..................} ini adalah proses pemberian nilai awal. Yang langsung dituliskan nilainya ke dalam variabel array dan diapit dengan tanda baca {................}.

Nilai pada saat pemanggilan nilainya, hari [0].......hari [4] merupakan pemanggilan index dari nilai array hari, yang dimana :
elemen         1             2               3               4              5                6                7
                Senin        Selasa       Rabu         Kamis       Jumat         Sabtu        Minggu
index           0              1               2               3              4                5                6

Maka hasil yang ditampilkan adalah Minggu, Senin, Selasa, Rabu, Kamis.