Showing posts with label tubes. Show all posts
Showing posts with label tubes. Show all posts

10/30/12

New Product Development Toyota



New Product Development
Pengembangan produk baru Toyota tak ubahnya dengan perkembangan pasar mobil perusahaan lain. Kebutuhan akan mobil di Indonesia menjad penting, terutama untuk keluarga yang demikian besar.
1.       Berikut ini analisis kami merupakan kategori produk baru yang diciptakan oleh Toyota masuk ke Additions To Existing Product Line. Berikut alasannya:
-          Toyota Motor Coroporation (TMC) memperkenalkan mobil listrik terbarunya yang diberi nama ‘eQ’ dengan ukuran superkompak dan bisa memuat 4-penumpang. Mobil ini dirancang untuk transportasi sehari-hari, yaitu berbelanja atau perjalanan jarak pendek. Dimensi eQ; panjang 3,115 mm, lebar 1.6800 mm dan tinggi 1.535 mm, Mobil listrik ini menggunakan baterai lithium-ion baru dengan ukuran makin kompak. Toyota mengklaim, eQ sebagai mobil listrik paling irit konsumsi energinya di dunia saat ini, yaitu 104 Wh/km (watt-jam/km).(kompas.otomotif.com) Karena EQ merupakan mobil pertama yang dikeluarkan Toyota yang menwarkan transportasi jarak pendek dan menggunakan baterai maka produk ini baru ingin mulai dikenalkan ke masyarakat oleh Toyota. Pada mobil yang dinamai eQ ini, Toyota mengombinasikan teknologi mobil listrik dengan teknologi informatika. Energinya dapat dipantau dengan ”smartphone” alias telepon seluler pintar. Mobil itu sepenuhnya menggunakan bahan bakar listrik meskipun eQ merupakan pengembangan city car iQ sebelumnya yang menggunakan bahan bakar bensin.
-          Toyota FJ Cruiser: Retro style SUV siap mewarnai booth Toyota di ajang motorshow mendatang. Bagaimana tidak? Setelah menghadirkan Land Cruiser, kini Toyota siap merilis FJ Cruiser untuk pasar SUV di Indonesia. Modelnya sendiri mengingatkan pada sang legenda Toyota FJ40 yang dirilis pada 1984. Model kotak yang menjadi iri khas mobil era 1980-an ini tetap menjadi kekuatan utama dari FJ Cruiser ini. Tapi model seperti ini memberikan efek pada blind spot yang cukup banyak sehingga kamera parkir dan corner sensor menjadi fitur penting untuk diadopsi sebagai kelengkapan standar, sekaligus memberi sentuhan modern. Untuk dapur pacu, Toyota akan menyematkan mesin 4.000 cc V6 dengan dual VVT-i yang mampu menghasilkan tenaga 260 dk pada 5.600 rpm. Dipadu transmisi otomatis 5-speed, FJ Cruiser kami prediksi masih berpenggerak 4x2 namun sudah dilengkapi dengan auto LSD agar daya cengkeram ban tetap optimal.( www.autobildindonesia.com)
-          Toyota Kijang: Toyota Kijang adalah model kendaraan niaga dan keluarga buatan Toyota yang merupakan kendaraan paling populer untuk kelas MiniBus di Indonesia. Toyota Kijang hadir di Indonesia sejak tahun 1977 dan saat ini merupakan salah satu model yang diusung Toyota dan paling laku di negara tersebut. Kini mobil ini dapat ditemukan dengan mudah di seluruh pelosok Indonesia. (Wikipedia). Mobil Kijang ini sendiri telah berevolusi sampai sekarang sampai generasi ke -5 yaitu yang sekarang menawarkan teknologi yang paling baru, kinerja lebih baik ialah Kijang Inova. Sedangakan yang paling lama yaitu merupakan Generasi pertama Toyota Kijang menerapkan dimana  konsep pickup dengan bentuk kotak mendasar. Model ini sering dijuluki "Kijang Buaya" karena tutup kap mesinnya yang dapat dibuka sampai ke samping. Kijang generasi perdana ini diproduksi hingga pada tahun 1980. Produk yang generasi lalu telah ditinggalkan karena produk baru yang lebih bisa memenuhi keinginan dan kebutuhan pelanggan. Namun bukan berarti Kijang model lama sudah tidak digunakan lagi, karena bagi orang yang tidak mampu membeli produk baru sehingga lebih memilih yang model Kijang lama.

Alasan Pengembangan Produk

1.       Mempertahankan posisi sebagai produk Inovator
Toyota menjaga bagaimana produk yang dikeluarkan harus bisa bersaing dengan produk perusahaan lain. Toyota berani mengambil resiko untuk mengeluarkan sesuatu yang baru. Seperti halnya dalam mengeluarkan mobil hybrid pertama secara komersial yang akhirnya diikuti oleh market challenger dan followenya, yaitu Toyota mengeluarkan Prius, ada Mitsubishi yang juga mengeluarkan hybridnya yaitu Outlander PHEV, Honda dengan Civic Hybrid.
2.       Mempertahankan Posisi Market Share
Toyota berusaha mempertahankan posisinya sebagai Marketshare leader salah satunya ialah mengeluarkan produk dengan harga murah dan kualitas yang lumayan bersaing. Dan hal itu berhasil yaitu pada produknya Toyota Avanza yang berhasil merajai marketshare, SUV ini mempunyai harga murah. Dan sekarang Toyota kembali lagi mengeluarkan mobil murah dengan teknologi ramah lingkungan. Hal tersebut dilakukan Toyota untuk menunjukan bahwa Toyota masih akan tetap mempertahankan posisinya sebagai leader.

Pengembangan Produk

1.       Faktor Penghambat Pengembangan Produk
Menjadi masalah besar  sendiri bagi pasar dunia untuk mobil yang berada dalam kondisi over supply sehingga produsen mobil harus memastikan bahwa itu adalah model-model yang diinginkan konsumen dan hal tersebut pula yang dialami oleh  sebagian besar produk Toyota di Amerika Serikat dan di Jepang. Oleh karena itu untuk menghadapi kondisi-kondisi ekonomi dan politik berfluktuasi pasar seperti itu dan hal tersebut memungkinkan bergesernya perhatian perusahaan ke pasar China yang mulai bermunculan. Pergerakan nilai tukar bisa melihat margin yang sudah sempit di pasar mobil dikurangi. Perusahaan perlu untuk menjaga memproduksi mobil dalam rangka mempertahankan efisiensi operasional. Pabrik mobil merupakan investasi besar dengan biaya yang tetap mahal, serta tingginya biaya pelatihan dan mempertahankan tenaga kerja. Jadi jika pasar mobil mengalami penolakan, perusahaan dapat melihat dari kapasitas yang ada. Jika di sisi lain pasar mobil pengalaman kemajuan, maka perusahaan dapat kehilangan potensi penjualan karena kurangnya kapasitas yaitu dibutuhkan waktu untuk mengakomodasi. Ini adalah masalah yang sudah menjadi khas dalam manufaktur mobil volume tinggi.

2.       Faktor Keberhasilan produk
Keunggulan Produk baru
-          Toyota mengunggulkan produk baru dengan berbagai inovasi seperti contohnya Toyota Agya yang mengunggulakan harganya yang murah dengan kecanggihan teknologi ramah lingkungan. Produk ini adalah jawaban dari program LCGC yang dicanangkan pemerintah Indonesia dan produk ini akan diproduksi ADM kemudian dan dipasok secara original equipment manufacturer (OEM) kepada TAM. Kedua mobil ini merupakan mobil kompak 5-penumpang. Ground Clerence-nya tinggi sesuai karakteristik jalan di Indonesia. Produk ini mematok harga tidak lebih dari 96 juta rupiah.( Kompas.Otomotif.com). Untuk spesifikasinya, Agya akan mengadopsi mesin 998 cc 3 silinder, 68 dk dengan perbandingan kompresi hingga 11 : 1. Torsi maksimum pun mencapai 93 Nm pada 3.600 rpm. Cukup mumpuni untuk menghela bobot kendaraan yang diperkiraan berada di angka 840 kg. Poin plus lainnya adalah pilihan transmisi manual dan otomatis. Dari segi dimensi, Agya akan masuk golongan City Car. Tapi dari info yang kami terima, interior cukup membanggakan lantaran ia tergolong lapang untuk sebuah mobil perkotaan. Apalagi platform yang digunakan ini juga dipakai pada Peugeot 107 dan Citroen C1 di belahan Eropa. Bila benar, tentu paket suspensi yang ditawarkan akan terasa layaknya mobil-mobil lansiran Eropa, terasa stabil tanpa mengorbankan kenyamanan berkendara.
-          Toyota Prius adalah mobil hibrida komersial pertama yang diproduksi massal. Diproduksi oleh Toyota, Prius dijual pertama kali di Jepang pada1997. Mobil ini diperkenalkan ke pasaran dunia pada tahun 2000 dan hampir 160.000 unit telah diproduksi untuk dipasarkan di Jepang, Eropa, dan Amerika Utara pada akhir 2003. Teknologi hibrida mereka dinamakan "Hybrid Synergy Drive"  dan Prius merupakan sebuah mobil yang dapat digerakkan oleh bensin dan listrik. (wikipedia.com). Prius bukanlah mobil hibrida pertama namun merupakan mobil hibrida pertama yang komersial dan dipasarkan perusahaan. Produk baru berupa mobil hybrida prius ini mampu memasuki pasar yang memang sudah mapan namun diterjal dengan banyak kelebihan Prius yang teknologinya sudah lumayan berkembang.

Proses Pengembangan Produk Baru
1.       Idea Generation
Toyota termasuk dalam mengembangkan sumber-sumber ide dari pengembangan scientist, designer, engineer, dan employee. Toyota bisa membaca pasar yang akan datang, salah satunya dengan boomingnya avanza. SUV dengan model yang praktis dengan haga terjangkau bagi kalangan masyarakat menengah mampu merajai marketshare secara keseluruhan. Hal tersebut merupakan pengembangan dari scientist, designer, engineer, dan employee Toyota. Adalah Sakichi Toyoda yang merupakan penemu sejak berusia belasan tahun. Toyoda mengabdikan hidupnya mempelajari dan mengembangkan perakitan tekstil. Dalam usia 30 tahun Toyoda menyelesaikan mesin tenun. Ini kemudian mengantarnya mendirikan cikal bakal perakitan Toyota, yakni Toyoda Automatic Loom Works, Ltd. pada November 1926. Mulai tahun 1933, ketika Toyoda membangun divisi otomotif, tim yang kemudian banyak dikendalikan oleh anaknya Kiichiro Toyoda, tiada henti menghasilkan inovasi-inovasi terdepan di zamannya. Teknik penggagasan yang digunakan ialah attribute listing, yaitu dengan memodifikasi produk lama dan member inovasi sesuai dengan kemajuan zaman dan teknologi (http://hargatoyotaku.blogspot.com)

2.       Idea Screening
Pada tahun 1936 mereka meluncurkan mobil penumpang pertama mereka, Toyoda AA (kala itu masih menggunakan nama Toyoda). Model ini dikembangkan dari prototipe model A1 dan dilengkapi bodi dan mesin A. Kendaraan ini dari awal diharapkan menjadi mobil rakyat. Empat tahun menunggu dirasa cukup melahirkan perusahaan otomotif sendiri dan melepaskan diri dari industri tekstil mereka. Kemudian tahun 1937 mereka meresmikan divisi otomotif dan memakai nama Toyota, bukan Toyoda seperti nama industri tekstil. Pengambilan nama Toyota dalam bahasa Jepang terwakili dalam 8 karakter, dan delapan adalah angka keberuntungan bagi kalangan masyarakat Jepang. Alasan lain yang dianggap masuk akal adalah industri otomotif merupakan bisnis gaya hidup dan bahkan penyebutan sebuah nama (dan seperti apa kedengarannya), menjadi sisi yang begitu penting. Karena nama Toyoda dianggap terlalu kaku di dalam bisnis yang dinamis sehingga diubah menjadi Toyota yang dirasa lebih baik. Tak ayal, tahun 1937 merupakan era penting kelahiran Toyota Motor Co, Ltd. cikal bakal raksasa Toyota Motor Corp (TMC) sekarang. Semangat inovasi Kiichiro Toyoda tidak pernah redup. Toyota kemudian berkembang menjadi penghasil kendaraan tangguh. Di era 1940-an, Toyota sibuk mengembangkan permodalan termasuk memasukkan perusahaan di lantai bursa di TokyoOsaka dan Nagoya. Setelah era Perang Dunia II berakhir, tahun 1950-an merupakan pembuktian Toyota sebagai penghasil kendaraan serba guna tangguh. Waktu itu kendaraan Jeep akrab di Jepang. Terinspirasi dari mobil ini, Toyota kemudian mengembangkan prototipe Land Cruiser yang keluar tahun 1950. Setahun kemudian meluncurkan secara resmi model awal Land Cruiser yakni model BJ. Jadi intinya tujuan dari Toyota awalnya ialah mengenalkan produk kendaraan kepada rakyat Jepang yang menjadi harapan di bidang ini serta berharap menjadi bisnis gaya hidup dan akhirnya muncul strategi yang selalu menghadirkan inovasi baru dari Toyota sesuai perkembangan teknologi dan zaman.( http://hargatoyotaku.blogspot.com)

3.       Concept Development and Testing
-          Tujuan: Pada awalnya perusahaan ini merupakan perusahaan tekstil kemudian berubah menjadi perusahaan otomotif dan mobil yang diciptakan merupakan mobil rakyat, namun seiring waktu juga bertujuan sebagai bisnis perkembangan gaya hidup. Setelah itu pada tahun 80an mulailah terkenal nama Toyota di industry otomotif dunia yang mengembangkan pangsa pasar ke luar negri.
-          Lingkup: segala segmen kalangan muda-tua dan kelas memengah, menengah-ke-atas, menengah-ke-bawah , atas
-          Bentuk aktivitas: Toyota memiliki prinsip khusus dalam proses pengembangan produknya dengan prinsip Toyota way. Toyota dikenal sebagai perusahaan yang semangat konservatif secara politik maupun gaya dan budaya. Inti Toyota adalah inovasi tidak pernah merasa puas dalam segala hal dan selalu dalam posisi terdepan dalam even pasar. Sebagian besar proses yang terjadi di pusat kendaraan Toyota adalah pengembangan produk rutin. Toyota Way dengan secara periodik keluar dari kekangan "konservatif” tersebut dengan secara inovatif mengembangkan kendaraan baru yaitu Lexus dan Prius.( http://suksessejati.net)

4.       Marketing Strategy Development
Pada awalnya, pendiri Toyota Motor Corporation (TMC), Kiichiro Toyoda, belajar dari produsen otomotif Amerika Serikat yaitu Ford, untuk mengetahui teknik produksi mobil secara massal. Sistem produksi Ford tersebut kemudian diadaptasi oleh Kiichiro sesuai dengan kondisi negerinya yang miskin sumber daya alam dan bahan baku. Berbasis produksi massal Ford, Toyota mengembangkan sistem produksi yang ramping atau "lean production." Berdasarkan sistem produksi yang ramping itu, Toyota mengembangkan konsep "just in time" yaitu memasok apa yang diperlukan, sesuai jumlah yang dibutuhkan, pada saat diperlukan. Selain itu, sistem produksi yang dikembangkan Toyota juga bersandar pada konsep Jidoka. Jidoka berasal dari kata Jepang dan dikembangkan ayah sang pendiri TMC, yaitu Sakichi Toyoda. Sakichi menemukan sistem atau alat sensor mekanik yang akan menghentikan mesin yang sedang beroperasi, bila ditemukan ada masalah. Sistem itu membantu peningkatkan efisiensi karena kesalahan bisa ditemukan lebih cepat, sehingga cacat produksi bisa ditekan. Itulah Toyota Way yang merupakan praktek bisnis yang dilatarbelakangi oleh kondisi Jepang yang minim sumber daya alam. Selain produksi, Toyota juga memiliki nilai-nilai dasar sistem pemasaran dan penjualan yang tertuang dalam Toyota Way in Sales and Markerting (TWSM) yang disusun oleh Yoshio Ishizaka pada 2001. Konsep TWSM itu kemudian ditransfer ke 170 jaringan distributor dan 8.000 dealer  di 200 negara, guna menjadi pegangan praktek pemasaran dan penjualan mobil Toyota di seluruh dunia. Ishizaka mengatakan untuk menyebarkan nilai-nilai TWSM tersebut, pihaknya membangun Global Knowledge Center (GKC) yang berbasis di Amerika Serikat.  Dari situlah pengembangan dan penyebaran nilai-nilai TWSM dilakukan. Kata kunci dari nilai itu adalah Glocal (global-local) atau berpikir global, bertindak lokal. Perusahaan otomotif Jepang itu memberi keleluasaan pada jaringan operasionalnya di suatu negara untuk membuat kebijakan sesuai pasar lokal dalam memenuhi kebutuhan konsumen. (antara.com)

5.       Bussiness Analysis
-          Estimating sales : produk yang hanya dibeli sekali
-          Estimating costs : Cost yang diolah berusaha untuk tetap cost reduction
-          Estimating profits : Profit sudah bisa dilihat dengan nyata, selain karena Toyota telah menjadi marketshare leader dan selalu mengembangkan inovasi produk yang baru selain itu menghasilkan profit yang sudah diestimasi.

6.       Product Development
Gagasan produk Toyota yang ada telah teruji layak secara teknis komersial, hal tersebut sudah dibuktikan. Melakukan uji test drive dari kendaraan dan uji tes kelayakan diterapkan pada produk baru Toyota guna menghindari produk recall nantinya.

7.       Market Testing
Pengujian barang industri seperti ini menggunakan cara testing uji penggunaan produk karena perlu diperhatikan lagi detail seperti keamanan pemakaian, pelayanan atau fasilitas yang ditawarkan produk, serta kemungkinan membeli apakah sesuai dengan tujuan yang diinginkan atau dibutuhkan pembeli atau tidak.

8.       Commerzialitation
-          When?
Toyota memasuki pangsa pasar pada waktu pertama, sehingga dia yang telah menjadi inovator, seperti halnya mobil Avanza yang merupakan SUV yang dibandrol dengan harga murah dengan tujuan utama kalangan menengah.
-          Where?
Potensi pasar yang dibidik oleh Toyota masuk ke semua kalangan baik kalangan menengah ke bawah, menengah ke atas, ataupun kalangan kelas atas. Sesuai dengan jenis mobil yang dibuat untuk menuju ke pasar mana. Reputasi Toyota juga sudah bagus dan selama ini terpercaya terhadap produk yang dikeluarkannya. Jaringan distribusi dari Toyota cukup luas seperti di Amerika Toyota terkenal dengan produk Lexus nya. Biaya media komunikasi yang dikeluarkan oleh Toyota tidaklah sedikit namun hal tersebut berimbang dengan hasil yang telah diciptakan. Pemasangan iklan di tv, Koran dan majalah, maupun media internet sudah sering digencarkan. Kompetitor yang dihadapi oleh Toyota juga telah banyak, dari segala segmen produk yang dikeluarkan competitor juga ingin mengambil marketshare yang telah diraih oleh Toyota, dimana setiap lini terdapat competitor yang menjadi tantangan bagi Toyota.
-          Who?
Penerima utama dari produk Toyota telah disesuaikan dengan pangsa pasar yang dibidik oleh Toyota. Biaya yang murah tetap berani ditawarkan oleh Toyota ke produk – produk barunya guna meraup share leader ke berbagai segmenkalangan.
-          How?
Bagaimana cara mengembangkan rencana dalam memperkenalkan produk ialah dengan Way in Sales and Markerting (TWSM). Target TWSM yaitu menjadikan konsumen sebagai pelanggan setia.  TWSM melihat ada lima langkah yang dilakukan konsumen sebelum mengambil keputusan yaitu mencari, mengunjungi, membeli, mendapatkan barang yang sesuai, dan memiliki. Namun, sejak Maret 2010 TMC telah membentuk komite khusus untuk kualitas global yang antara lain melakukan genchi genbutsu (deteksi dini dan resolusi dini berdasarkan suara konsumen) serta pengembangan produk berbasis keselamatan dan kepercayaan pelanggan agar tidak terjadi produk recallbesar-besaran  seperti tahun 2011. (antara.com)











2/24/12

Project oh Project

In early 2012 i have started my college again. 4th semester, wtf it have been almost a half of my life time in this college. Finally my dream is happened, i will focus about my college , Taekwondo , and HMTI.
1. college project:
a)  Object oriented Programming : i will start programming again, now i use Java. of course programming will be my food, now i will force my self to swallow it. i will let my mind to think logically making program. The topic of big assignment haven't been decided. I still learn until looping, Looping oh looping, actually i still confuse using of each looping. hohoho. The addition is my Lecture is the special one who i can't guess the pepople type. My seniors say to be carefully if i am taught by him. we see latter. hahaha


b) Management Information System i will let my life to  explore my writing ablity. So i decide to develop my witing talent and i am ready to be admin in SIM blog of my class. I will do application of implementation SIM, and i still learn about database and making web too
It's not easy but i have to struggle my challange . I haven't decided the topic too, but i want to make it good as good.
c) Database System: i think this more interesting than progrmming because, here we learn about processsing data and make data easy to be used. I am familiar with, atribute, entity, object, and bbla bla bla. i decide to make database clothing for my big assignment.


12/16/11

Struktur data part 3

Berhubung saya suka sama cara dosen ngejelasinnya mata kuliah ini, maka saya mau bahas tentang tubes saya. Apa yang dijelasin di algoritma yang udah saya post sebelumnya. 

Yang saya bahas cuma double linked list dan binnary tree aja, soalnya tubesnya cuman dua itu aja...

1. Algoritma tree c++ 

Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen.

Tree biasa didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root.  

Node lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan
satu sama lain (disebut Subtree). Untuk lebih jelasnya, di bawah akan diuraikan istilah-
istilah umum dalam tree.

Predecessor : Node yang berada di atas node tertentu
Successor : Node yang berada dibawah node tertentu
Ancestor : Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama
Descendant : Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama
Parent : Predecessor satu level di atas suatu node
Child : Successor satu level di bawah suatu node
Sibling : Node-node yang memiliki parent yang sama dengan suatu node
Subtree : Bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki semua karakteristik dari tree tersebut.
Size : Banyaknya node dalam suatu tree
Height : Banyaknya tingkatan / level dalam suatu tree
Root : Satu-satunya node khusus dalam tree yang tak punyak predecessor
Leaf : Node-node dalam tree yang tak memiliki successor
Degree : Banyaknya child yang dimiliki suatu node

Binary Tree
Binary Tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal
dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut
tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Implementasi Binary Tree
Binary tree dapat diimplementasikan dalam C++ dengan menggunakan double
linkedlist.


dikutip dari : modul algoritma dan struktur data II stikom bali 

2. Double linked list 

implementasi binary tree

Elemen-elemen dihubungkan dengan dua pointer dalam satu elemen. Struktur ini
menyebabkan list melintas baik ke depan maupun ke belakang.
Masing-masing elemen pada double linked list terdiri dari tiga bagian, disamping
data dan pointer next, masing-masing elemen dilengkapi dengan pointer prev yang
menunjuk ke elemen sebelumnya. Double linked list dibentuk dengan menyusun
sejumlah elemen sehingga pointer next menunjuk ke elemen yang mengikutinya dan
pointer prev menunjuk ke elemen yang mendahuluinya.
Untuk menunjukkan head dari double linked list, maka pointer prev dari elemen
pertama menunjuk NULL. Untuk menunjukkan tail dari double linked list tersebut, maka
pointer next dari elemen terakhir menunjuk NULL. Susunan elemen yang dihubungkan
dalam bentuk double linked list dapat dilihat pada Gambar 2.3

Untuk melintas kembali melalui double linked list, kita gunakan pointer prev dari
elemen yang berurutan pada arah tail ke head. Double linked list mempunyai fleksibilitas
yang lebih tinggi daripada single linked list dalam perpindahan pada list. Bentuk ini
sangat berguna ketika akan meletakkan suatu elemen pada list dan dapat memilih
dengan lebih bijaksana bagaimana memindahkannya. Sebagai contoh, salah satu
fleksibilitas dari double linked list adalah dalam hal memindahkan elemen daripada
menggunakan single linked list.






 




12/15/11

struktur data part 2

ok, next post still abou my "big assignments" which i search in google and find out people blog. still about data structure.
i hope it can be useful, lets check it out

binnery seacrh

#include <stdio.h>

void tukar(int *, int *);
int angka,angka1,angka2, key1,key2,key3, pilih, tampung[10], tampung1[10], tampung2[10] , kondisi,mode,jml,jml1,jml2,data[10],data1[10],data2[10];

void selection(int x[], int n)
{
    int i, j, find, index, ubah=0;
    for(i=0; i<n; i++)
        printf("%d ", tampung[i]);
   
    for(i=0; i < n-1; i++) {
        find = i;
        kondisi = 0;
        for(j=i+1; j<n; j++) {           
            if(mode == 1)
                kondisi = x[j] < x[find];
            else
                kondisi = x[j] > x[find];
            if(kondisi) {
                find = j;
                ubah = 1;
            }
        }
       
        if(ubah) {
            tukar(&x[find], &x[i]);
            puts("");
            for(index=0; index<n; index++)
                printf("%d ", x[index]);
        }
    }
}
int modeUrut()
{
    int pil;
    do {
    printf("\n\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2");
        puts("");
        puts("Pengurutan yang dipilih : ");
        puts("1. Ascending");
        puts("2. Descending");
        printf("Pilihan anda [1/2] : ");
        scanf("%d", &pil);
    printf("\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\n");
    } while((pil<1) || (pil>2));
    if(pil == 1)
        return 1;
    else
        return 2;
}
 void tukar (int *a, int *b)
{
    int temp;

    temp = *a;
    *a = *b;
    *b = temp;
}

void input_angka()
{int i;
    printf("\nPROGRAM BINARY SEARCH MENGGUNAKAN METODE SELECTION SEARCH\n ");
    printf("\nMASUKKAN JUMLAH ELEMENNYA(max 10) = ");
    scanf("%d", &jml);
    for(i=0; i<jml; i++)
    {
        printf("data ke-%d = ",i);
        scanf("%d", &data[i]);
        tampung[i] = data[i];
    }
        for(i=0; i<jml; i++)
            data[i] = tampung[i];
   
    mode = modeUrut();
    selection(data, jml);
}
int binary (int k[], int key, int n)   
{
    int low, hi, mid;
    low=0;
    hi=n-1;
    while (low<=hi)
    {
        mid=(low+hi)/2;
        if (key==k[mid])
            return(mid);
        if (key<k[mid])
            hi=mid-1;
        else
            low=mid+1;
    }
    return (-1);
}
void main()
{
    int hasil;
    char ulang;
        input_angka();
        do
        {
            printf("\ncari: ");
            scanf("%d", &key1);
            hasil=binary(data, key1, jml);
            if(hasil==-1)
                printf("\nANGKA TIDAK DITEMUKAN\n");
            else
                printf("\nANGKA %d KETEMU PADA INDEX KE %d\n", key1, hasil);
        fflush(stdin);
        printf("APAKAH ANDA INGIN MENGULANG PENCARIAN (y/t)? ");
        scanf("%c", &ulang);
        }
        while(ulang=='y'||ulang=='Y');
}
 
*******************************************************************************

Algoritma tree c++

#include <iostream.h>
#include <stdlib.h>

class BinarySearchTree
{
    //private:
    struct nodeTree
    {
        nodeTree* kiri;
        nodeTree* kanan;
        int     data;
};
nodeTree* root;

public:
    BinarySearchTree()
{
    root = NULL;
}

bool isEmpty() const { return root==NULL; }
void print_inorder();
void inorder(nodeTree*);
void print_preorder();
void preorder(nodeTree*);
void print_postorder();
void postorder(nodeTree*);
void insert(int);
void remove(int);
};

void BinarySearchTree::insert(int d)
{
    nodeTree* t = new nodeTree;
    nodeTree* parent;
    t->data = d;
    t->kiri = NULL;
    t->kanan = NULL;
    parent = NULL;

    if(isEmpty()) root = t;
    else
    {

        nodeTree* current;
        current = root;

    while(current)
    {
        parent = current;
        if(t->data > current->data) current = current->kanan;
        else current = current->kiri;
        }

            if(t->data < parent->data)
            parent->kiri = t;
            else
            parent->kanan = t;
        }
    }

void BinarySearchTree::remove(int d)
{
    //Locate the element
    bool found = false;
    if(isEmpty())
    {
        cout<<" pohon kosong "<<endl;
    return;
}

nodeTree* current;
nodeTree* parent;
current = root;

while(current != NULL)
{
    if(current->data == d)
    {
        found = true;
        break;
    }
    else
    {
        parent = current;
        if(d>current->data) current = current->kanan;
        else current = current->kiri;
    }
}
if(!found)
{
    cout<<" data tidak di dirikan "<<endl;
    return;
}

// Node dengan single child
if((current->kiri == NULL && current->kanan != NULL)|| (current->kiri != NULL
&& current->kanan == NULL))
{
    if(current->kiri == NULL && current->kanan != NULL)
    {
        if(parent->kiri == current)
        {
            parent->kiri = current->kanan;
            delete current;
        }
        else
        {
            parent->kanan = current->kanan;
            delete current;
        }
    }
    else
    {
    if(parent->kiri == current)
    {
        parent->kiri = current->kiri;
        delete current;
    }
    else
    {
        parent->kanan = current->kiri;
        delete current;
    }
}
return;
}

// node tidak mempunyai child node
if( current->kiri == NULL && current->kanan == NULL)
{
    if(parent->kiri == current ) parent->kiri = NULL;
    else parent->kanan = NULL;
    delete current;
    return;
}

//Node dengan 2 child node
// ganti node dengan nilai terkecil di subtree bagain kanan
if (current->kiri != NULL && current->kanan != NULL)
{
    nodeTree* temp;
    temp = current->kanan;
    if((temp->kiri == NULL) && (temp->kanan == NULL))
    {
        current = temp;
        delete temp;
        current->kanan = NULL;
    }
else
{

    if((current->kanan)->kiri != NULL)
    {
        nodeTree* lcurrent;
        nodeTree* lcurrp;
        lcurrp = current->kanan;
        lcurrent = (current->kanan)->kiri;
    while(lcurrent->kiri != NULL)
    {
        lcurrp = lcurrent;
        lcurrent = lcurrent->kiri;
    }
        current->data = lcurrent->data;
        delete lcurrent;
        lcurrp->kiri = NULL;
}
else
{
    nodeTree* tmp2;
    tmp2 = current->kanan;
    current->data = tmp2->data;
    current->kanan = tmp2->kanan;
    delete tmp2;
}

}
return;
}

}

void BinarySearchTree::print_inorder()
{
    inorder(root);
}

void BinarySearchTree::inorder(nodeTree* p)
{
    if(p != NULL)
    {
        if(p->kiri) inorder(p->kiri);
        cout<<" "<<p->data<<" ";
    if(p->kanan) inorder(p->kanan);
    }
        else return;
}

void BinarySearchTree::print_preorder()
{
    preorder(root);
}

void BinarySearchTree::preorder(nodeTree* p)
{
    if(p != NULL)
    {
        cout<<" "<<p->data<<" ";
        if(p->kiri) preorder(p->kiri);
        if(p->kanan) preorder(p->kanan);
    }
    else return;
}

void BinarySearchTree::print_postorder()
{
    postorder(root);
}

void BinarySearchTree::postorder(nodeTree* p)
{
    if(p != NULL)
    {
        if(p->kiri) postorder(p->kiri);
        if(p->kanan) postorder(p->kanan);
        cout<<" "<<p->data<<" ";
    }
    else return;
}

int main()
{
    BinarySearchTree b;
    int ch,tmp,tmp1;
    while(1)
    {
        cout<<endl<<endl;
        cout<<" Binary Search Tree Operations "<<endl;
        cout<<" ------------- "<<endl;
        cout<<" 1. Input nilai "<<endl;
        cout<<" 2. In-Order Traversal "<<endl;
        cout<<" 3. Pre-Order Traversal "<<endl;
        cout<<" 4. Post-Order Traversal "<<endl;
        cout<<" 5. Hapus "<<endl;
        cout<<" 6. Exit "<<endl;
        cout<<" Masukkan Pilihan : ";
        cin>>ch;
        switch(ch)
        {
            case 1 : cout<<" Input Angka : ";
                cin>>tmp;
                b.insert(tmp);
            break;
            case 2 : cout<<endl;
                cout<<" In-Order Traversal "<<endl;
                cout<<" -------------"<<endl;
                b.print_inorder();
            break;
            case 3 : cout<<endl;
                cout<<" Pre-Order Traversal "<<endl;
                cout<<" -------------"<<endl;
                b.print_preorder();
            break;
            case 4 : cout<<endl;
                cout<<" Post-Order Traversal "<<endl;
                cout<<"-------------"<<endl;
                b.print_postorder();
            break;
            case 5 : cout<<" Masukkan data yang akan dihapus : ";
                cin>>tmp1;
                b.remove(tmp1);
            break;
            case 6 :
                return 0;
        }
    }
*********************************************************************************
 
source : segokarak.blogspot.com