Showing posts with label Pelajaran Matakuliah. Show all posts
Showing posts with label Pelajaran Matakuliah. Show all posts

Tuesday, 28 February 2017

Yah di sela sela kesibukan gw sedikit berbagi mengenai salah satu tugas kuliah gw. Disini gw di berikan tugas membuat program bebas yang bisa upload dan membaca file. Nah kebetulan gw lagi demen demennya sama JSP jadi gw milih bahasa pemrograman JSP. Mungkin itu sedikit intro yang gak penting... hehhehe


Yup mari lanjutkan bahan bahan yang di perlukan untuk membuat program ini, yaitu :
1. Pastikan anda sudah melakukan instalasi JDK sebagai mesin untuk mengolah file Java dan Servernya, sebagai contoh kami menggunakan Apache Tomcat ( untuk cara install JDK dan Apache Tomcat akan di Bahas di Post Selanjutnya) 😋
Gambar 1 Tanda Sudah terinstal JDK
2. Setelah semua itu di install lalu coba jalankan Apache Tomcat, bisa menggunakan Netbean atau run file startup di C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.27\bin ( ini tergantung milih file locationnya, kalo defaultnya ya seperti ini )
Gambar 2 Server Tomcat Status Running
3. Create New Projeck Pada Netbean Anda, Kemudian pilih Web Application
Gambar 3 Create Projeck
4. Kemudian pilih Web Application lalu klik next
Gambar 4 Pemberian Nama Projeck Name
5. Silahkan Berikan Nama Project Name anda (terserah ), setelah itu pilih lagi Next
Gambar 5 Pemilihan Server

6. Pada Tahapan ini silahkan pilih Server yang anda inginkan, klo gw sih pilihnya Apache Tomcat #gratisan, setelah itu klik Finish Aja
7. Kemudian file pun akan terbentuk, seperti akan muncul index.jsp ( untuk netbean lama ) atau index.html (untuk netbean baru versi 8 )
8. Setelah itu pada Web Pages klik kanan > New > Folder. Fungsi ini untuk menampung sementara file yang di upload, setelah di upload lalu di baca dan kemudian di hapus kembali
Gambar 6 Pembuatan Folder


9. Masukkan Library di bawah ini, librari ini yang berfungsi untuk membaca, menulis dan mengupload file .doc; .pdf ; .text

    Gambar 7 Paket Library

    10. Lalu coba akses Akses http://localhost:8080/namaProgram misalkan disini kami menamai programnya http://localhost:8080/tugas_upload_txt_20170120/, maka akan muncul seperti pada gambar di bawah ini

    Gambar 8 Aplikasi Bisa Diakses

    11.  Lalu pilihlah File yang ingin di baca tulisannya dengan menekan tombol Choose File

     Gambar 9 Tampilan Ketika Choose File
    12. Pada Program ini Hanya file bertipe .pdf, .text, dan .doc saja yang bisa dibuka dan pada sistem ini mendeteksi jika file melebihi 3 MB, karena jika tidak di batasi akan terasa lama banget 😎

    13.  Lalu klik Upload, maka akan muncul seperti pada gambar di bawah ini
     Gambar 10 Hasil Program ketika klik upload

     Gambar 11 File yang di upload
    14. Pada system ini akan mencari kata kata yang sama di setiap katanya, jika di dalam file tidak ada kata yang sama maka system tidak akan memunculkan kata tersebut
    15. Untuk proses pembuatannya hanya terdiri dari 2 file index.jsp dan ProsessUpload.java
    index.jsp
    <%--
        Document   : index
        Created on : Jan 17, 2017, 8:40:59 PM
        Author     : RAMA
    --%>

    <%@page import="org.apache.poi.xwpf.usermodel.XWPFDocument"%>
    <%@page import="java.io.FileOutputStream"%>
    <%@page import="java.io.File"%>
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
            <link href="utility/css/style.css" rel="stylesheet" type="text/css">
            <script type="text/javascript" src="utility/javascript/jquery-1.10.2.min.js"></script>
            <script type="text/javascript" src="utility/javascript/jquery.form.min.js"></script>
        </head>
        <body>
            <div id="upload-wrapper">
                <div align="center">
                    <h3>Upload Text </h3>
                    <form action="ProsessUpload" name="uploadform" method="post"
                    enctype="multipart/form-data" id="MyUploadForm">
                       
                        <input name="FileInput" id="FileInput" type="file"
                               accept=".txt,application/msword,application/pdf"/>
                        <input type="submit"  id="submit-btn" value="Upload" />
                    </form>
                    <div id="progressbox" >
                        <div id="progressbar"></div ><div id="statustxt">0%</div>
                    </div>
                    <div id="output"></div>
                </div>
            </div>
           
            <script type="text/javascript">
                $(document).ready(function() {
                    var options = {
                        target:   '#output',   // respon dari server
                        beforeSubmit:  beforeSubmit,  // melakukan sesuatu sebelum di kirim
                        success:       afterSuccess,  // melakukan sesuatu sesudah di krim
                        uploadProgress: OnProgress, //upload progress
                        resetForm: true        // reset form jika berhasil di upload
                    };
            
                    $('#MyUploadForm').submit(function() {
                        $(this).ajaxSubmit(options);           
                        return false;
                    });
            
                    // function jika data success kirim
                    function afterSuccess()
                    {
                        $('#submit-btn').val("Upload");
                        $('#progressbox').delay( 1000 ).fadeOut(); //hide progress bar

                    }

                    // function sebelum di kirim
                    function beforeSubmit(){
                        //check browser support
                        if (window.File && window.FileReader && window.FileList && window.Blob)
                        {
            
                            // check jika file kosong
                            if( !$('#FileInput').val())
                            {
                                $("#output").html("File masih kosong ...");
                                return false
                            }
            
                            var fsize = $('#FileInput')[0].files[0].size; //get file size
                            var ftype = $('#FileInput')[0].files[0].type; // get file type
            
                            //type file yang di ijinkan
                            //alert(ftype);
                            switch(ftype)
                            {  
                                //case 'image/png':
                                //case 'image/gif':
                                //case 'image/jpeg':
                                //case 'image/pjpeg':
                                case 'text/plain':
                                //case 'text/html': //html file
                                //case 'application/x-zip-compressed':
                                case 'application/pdf':
                                case 'application/msword':
                                //case 'application/vnd.ms-excel':
                                //case 'application
                                //vnd.openxmlformats-officedocument.wordprocessingml.document':
                                //case 'video/mp4':
                                    break;
                                default:
                                    $("#output").html("<b>"+ftype+"</b> Maaf file tidak di dukung!");
                                    return false
                            }
            
                            //maximal file size
                            if(fsize>5242880)
                            {
                                $("#output").html("<b>"+bytesToSize(fsize) +"</b>
                               Maaf File Terlalu Besar maximal 5 MB.");
                                return false
                            }
                            // loading prosess upload      
                            $('#submit-btn').val('Uploading ...');
                            $("#output").html(""); 
        
                        }else{
                            // Output error to older unsupported browsers that doesn't support
                            // HTML5 File API
                            $("#output").html("Maaf browser anda tidak mendukung silahkan upgrade");
                            return false;
                        }
                    }

                    //progress bar function
                    function OnProgress(event, position, total, percentComplete)
                    {
                        //Progress bar
                        $('#progressbox').show();
                        $('#progressbar').width(percentComplete + '%')
                        //update progressbar percent complete
                        $('#statustxt').html(percentComplete + '%'); //update status text
                        if(percentComplete>50)
                        {
                            $('#statustxt').css('color','#000'); //change status text to white after 50%
                        }
                    }
                    function bytesToSize(bytes) {
                        var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
                        if (bytes == 0) return '0 Bytes';
                        var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
                        return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i];
                    }
                });

            </script>
          
        </body>

    </html>


    Kemudian buatlah servletnya dengan cara :
    1. Pada source package, klik kanan > pilih new > pilih servlet > berikan nama servlet tersebut > finish
    seperti pada gambar di bawah ini
    Gambar 12 New Servlet

     Gambar 13 Pemberian nama servlet

    Gambar 14 hasil / view tampilan servlet

    2. Kemudian ganti file seperti gambar 14 diatas, menjadi
    try {
                /* TODO output your page here. You may use following sample code. */
                boolean succesUpload = false;
                //prosess upload file
                Part filePart = request.getPart("FileInput");
                //String test = request.getParameter("test");
                String temp = filePart.getHeader("content-disposition").split(";")[2].trim();
                String filename = temp.substring("filename=\"".length(), temp.length() - 1);
                String sPath = getServletConfig().getServletContext().getRealPath("/upload");
                InputStream inputStream = filePart.getInputStream();
                String type = filePart.getContentType();
                FileOutputStream stream = new FileOutputStream(getServletContext().getRealPath("/upload") + "\\" + filename);
                int i = -1;
                while ((i = inputStream.read()) != -1) {
                    stream.write(i);
                    succesUpload = true;
                }
                stream.close();
                inputStream.close();

                if (succesUpload) {
                    //membaca file

                    FileInputStream fis = new FileInputStream(sPath + "\\" + filename);
                    Set s = new TreeSet();
                    Set dd = new TreeSet();
                    String[] stringsArray;
                    //mengecek kata-kata yang tidak boleh muncul
                    String[] listKataSama = {"", " ","”","»", "–", ".", ":", "'", "*", "<", ">", "/", "(", ")", "**", "$", "#", "!", "+", "&", "dan","biasa","dengan","serta","tetapi","namun","sedangkan","sebaliknya","melainkan","hanya","bahkan","lagipula","apalagi","jangankan","kecuali","hanya","lalu","kemudian","selanjutnya","yaitu","yakni","bahwa","adalah","ialah","jadi","karena","oleh","sebab","itu","bila","kalau","jikalau","jika","asal","agar","supaya","ketika","sewaktu","sebelum","sesudah","tatkala","sampai","hingga","sehingga","untuk","seperti","tempat", "di", "itu", "dari", "ini", "pada", "atau", "ke", "akan", "maka", "yang", "kemana", "dimana", "siapa", "mengapa", "bagaimana"};
                    Hashtable hashListKataSama = new Hashtable();
                    for (int q = 0; q < listKataSama.length; q++) {
                        //menyimpan kata-kata yang sama tersebut, jika ada kata yang sesuai di list maka tidak dimunculkan
                        hashListKataSama.put("" + listKataSama[q], false);
                    }
                    String text = "";
                    int y = 1;
                    Hashtable hashJumlahKataSama = new Hashtable();
                    Vector kataSama = new Vector();
                    if (type != null) {
                        try {
                            // cek type format dile
                            if (type.equalsIgnoreCase("application/vnd.openxmlformats-officedocument.wordprocessingml.document")) {
                                try {
    //                            XWPFDocument doc = new XWPFDocument(fis); // untuk docx
    //                            List<XWPFParagraph> paragraphs = doc.getParagraphs();
    //                            System.out.println("Total no of paragraph " + paragraphs.size());
    //                            for (XWPFParagraph para : paragraphs) {
    //                                out.println(para.getText().trim());
    //                            }
    //                            fis.close();

                                } catch (Exception exc) {
                                    out.println(exc);
                                }

                            } else if (type.equalsIgnoreCase("application/pdf")) {
                                try {
                                    PDDocument document = null;
                                    document = PDDocument.load(new File(sPath + "\\" + filename));
                                    document.getClass();
                                    //if (document.isEncrypted()) {
                                        PDFTextStripperByArea stripper = new PDFTextStripperByArea();
                                        stripper.setSortByPosition(true);
                                        stripper.setLineSeparator(".");
                                        stripper.setWordSeparator(".");
                                        PDFTextStripper Tstripper = new PDFTextStripper();
                                        String text1 = Tstripper.getText(document).trim();
                                        String textArr[]=text1.split(" ");
                                       if(textArr!=null && textArr.length>0){
                                            for(int d=0;d<textArr.length;d++){
                                            text = text + textArr[d].trim().toLowerCase().replace(".", ",") + ",";
                                        }
                                       }
                                        //out.println("Text:" + st.trim());
                                   // }
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }

                            } else if (type.equalsIgnoreCase("application/msword")) {
                                try {
                                    HWPFDocument doc = new HWPFDocument(fis);
                                    WordExtractor we = new WordExtractor(doc);
                                    //get Paragraph text  as array
                                    // String papa = "";
                                    String paragraphs[] = we.getParagraphText();
                                    for (int xx = 0; xx < paragraphs.length; xx++) {
                                        //out.println(paragraphs[xx].trim()+"</br>");
                                        text = text + paragraphs[xx].trim().toLowerCase().replace(".", ",") + ",";
                                    }

                                } catch (Exception exc) {
                                    out.print(exc);
                                }
                            } else {

                                BufferedReader bufferedReader = new BufferedReader(new FileReader(sPath + "\\" + filename));
                                String text1;
                                while ((text1 = bufferedReader.readLine()) != null) {
                                    //out.println(text1.trim() + "<br>");
                                    text = text + text1.trim().toLowerCase().replace(".", ",") + ",";
                                }
                                try {
                                    if (bufferedReader != null) {
                                        bufferedReader.close();
                                    }
                                } catch (IOException ex) {
                                    ex.printStackTrace();
                                }
                            }
                        } catch (Exception exc) {
                            out.print(exc);
                        }

                        ///setelah di tampung lalu di olah
                        if (text != null && text.length() > 0) {

                            String hilangkanTanda[] = text.split("/");
                            if (hilangkanTanda.length > 0) {
                                text = "";
                            }
                            for (int w = 0; w < hilangkanTanda.length; w++) {
                                text = text + (hilangkanTanda[w].toLowerCase().replace("/", ",") + ",").trim();
                            }
                            hilangkanTanda = text.split("-");
                            if (hilangkanTanda.length > 0) {
                                text = "";
                            }
                            for (int w = 0; w < hilangkanTanda.length; w++) {
                                text = text + (hilangkanTanda[w].toLowerCase().replace("-", ",") + ",").trim();
                            }
                            hilangkanTanda = text.split(":");
                            if (hilangkanTanda.length > 0) {
                                text = "";
                            }
                            for (int w = 0; w < hilangkanTanda.length; w++) {
                                text = text + (hilangkanTanda[w].toLowerCase().replace(":", ",") + ",").trim();
                            }

                            hilangkanTanda = text.split(" ");
                            if (hilangkanTanda.length > 0) {
                                text = "";
                            }
                            for (int w = 0; w < hilangkanTanda.length; w++) {
                                text = text + (hilangkanTanda[w].toLowerCase().replace(" ", ",") + ",").trim();
                            }

                            stringsArray = text.split(",");
                            for (String a : stringsArray) {
                                if (!hashListKataSama.containsKey("" + a)) {
                                    if (!s.add(a)) {
                                        //y++;
                                        if (hashJumlahKataSama != null && hashJumlahKataSama.containsKey("" + a)) {
                                            y = (int) hashJumlahKataSama.get("" + a);
                                            hashJumlahKataSama.put("" + a, (int) y + 1);
                                        } else {
                                            y = 1;
                                            hashJumlahKataSama.put("" + a, (int) y + 1);
                                            kataSama.add("" + a);
                                        }

                                    }
                                }

                            }
                            if (kataSama != null && kataSama.size() > 0) {
                                out.println("<table>");
                                out.println("<tr>");
                                out.println("<td>No</td>");
                                out.println("<td>Nama Sama</td>");
                                out.println("<td>Jumlah</td>");
                                out.println("</tr>");

                                for (int e = 0; e < kataSama.size(); e++) {
                                    String namaSama = (String) kataSama.get(e);
                                    out.println("<tr>");
                                    out.println("<td>" + (e + 1) + "</td>");
                                    out.println("<td>" + namaSama + "</td>");
                                    out.println("<td>" + (int) hashJumlahKataSama.get("" + namaSama) + "</td>");
                                    out.println("</tr>");
                                    //out.println("<p>" + (e + 1) + ".duplicate detected : " + namaSama + "; jumlah :" + (int) hashJumlahKataSama.get("" + namaSama) + "</p>");
                                    //out.println("<p>jumlah : " + (int)hashJumlahKataSama.get(""+namaSama)+"</p>");
                                }
                                out.println("</table>");
                            }
                        }

                    }

                    //setelah di baca lalu di hapus
                    File file = new File(sPath + "\\" + filename);
                    boolean xx = file.delete();
                    if (xx) {
                        System.out.println(file.getName() + " is deleted!");
                    } else {
                        System.out.println("Delete operation is failed.");
                    }
                }
              
            } catch (Exception exc) {
                out.println(exc);
            } finally {
                out.close();
            }

    Jika ada pertanyaan bisa komentari post ini 

    "Happy Sharing Komputer "


    Monday, 13 February 2017

    Kali ini saya akan sedikit share tugas kuliah saya Technoprenurship, yang dimana tugas ini melakukan review di salah satu chapter 24, berkut reviewnya



    CHAPTER 24
    THE RESTORATION
    The Loser Now Will Be Later To Win
    Chapter ini bercerita tentang kembalinya Steve Jobs ke Apple setelah saham NeXT dibeli oleh Apple. Seperti yang diketahui Steve Job sempat dipecat dari perusahaan Apple karena dinilai terlalu ambisius dan mudah emosi. Steve Jobs kembali pada Januari 1997, Saat itu Apple yang dipimpin oleh Gil Amelio yang sedang menuju kebangkrutan. Steve Jobs tentu saja tidak ingin perusahaan yang dulu dibangun bangkrut oleh sebab itu Steve Jobs memiliki sebuah gagasan yang cemerlang agar saham Apple tidak jatuh, yaitu menjalin kerjasama dengan Microsoft. Steve Jobs dalam pidato pertamanya setelah kembali ke Apple mengatakan. “We’ve got to get the spark back,” he said. “The Mac didn’t progress much in ten years. So Windows caught up. So we have to come up with an OS that’s even better.”  Dia memberikan kritik kepada pemimpin Apple bahwa selama sepuluh tahun tidak ada perubahan yang signifikan diperlukan inovasi dalam operating systemnya. Jobs walaupun sudah kembali ke Apple dia masih merasa sakit hati terhadap Steve Wozniak hal ini tercermin dengan enggannya Jobs satu panggung dengan Wozniak. Ini terkutip dalam chapter 24 :
     “Finally, more than three hours after the show began, Amelio brought it to a close by calling Jobs back onstage and then, in a surprise, bringing up Steve Wozniak as well. Again there was pandemonium. But Jobs was clearly annoyed. He avoided engaging in a triumphant trio scene, arms in the air. Instead he slowly edged offstage. “He ruthlessly ruined the closing moment I had planned,” Amelio later complained. “His own feelings were more important than good press for Apple.” It was only seven days into the new year for Apple, and already it was clear that the center would not hold.”
    Ketika Amelio memanggil Jobs dan Wozniak untuk bergabung bersamanya di depan Jobs memilih untuk meninggalkan panggung. Hal ini membuat Amelio kecewa dan mengatakan harusnya dia tidak mementingkan perasaannya saja, harusnya dia lebih memikirkan wartawan yang sudah datang untuk Apple.
    Jobs segera menempatkan orang yang dipercaya ke peringkat atas di Apple. Dia ingin memastikan dengan benar orang-orang baik yang berasal dari NeXT tidak akan ditikam dari belakang oleh orang-orang yang kurang kompeten yang merupakan senior di Apple. Dan dia memilih temannya Avie Tevanian untuk menjadi kepala software engineering. Dan memilih Jon Rubinstein untuk menjalankan sisi hardware. Jobs jarang pergi ke kantor tapi dia sering menghubungi Amelio. Jobs dan Amelio sempat mengalami perdebatan mengenai ide Jobs untuk membuat pulpen untuk screen. Amelio menganggap ide itu terlalu mahal. Hal ini dikutip dari percakapan mereka pada chapter 24 :
    disdained the idea of having a stylus or pen for writing on a screen. “God gave us ten styluses,” he would say, waving his fingers. “Let’s not invent another.” In addition, he viewed Newton as John Sculley’s one major innovation, his pet project. That alone doomed it in Jobs’s eyes. “You ought to kill Newton,” he told Amelio one day by phone. It was a suggestion out of the blue, and Amelio pushed back. “What do you mean, kill it?” he said. “Steve, do you have any idea how expensive that would be?” “Shut it down, write it off, get rid of it,” said Jobs. “It doesn’t matter what it costs. People will cheer you if you got rid of it.” “I’ve looked into Newton and it’s going to be a moneymaker,” Amelio declared. “I don’t support getting rid of it.” By May, however, he announced plans to spin off the Newton division, the beginning of its yearlong stutter-step march to the grave.
    Penurunan saham dibawah kepemimpinan Gil Amelio membuat Steve mulai merencanakan berbagai inovasi yang tentu saja hal ini berdampak kepada kepemimpinan Amelio yang dianggap tidak becus dalam mengurus perusahaan seperti yang dicatat Louise Kehoe, wartawan Financial Times “Mr. Jobs has become the power behind the throne”. dia mengatakan Jobs telah mendesak sejumlah mantan rekan Apple untuk kembali ke perusahaan, mengisyaratkan kuat bahwa ia berencana untuk mengambil alih.
    Ed Wollard salah satu pemimpin Apple sangat setuju jika Jobs memimpin Apple dan memberhentikan Amelio, namun ketika dikonfirmasi kepada Jobs, Jobs lebih memilih untuk menghabiskan waktu bersama keluarganya dia lebih memilih untuk menjadi penasehat saja. Namun Ed Wollard tetap bersikeras untuk mengangkat Jobs karena apabila tetap dibawah Amelio saham akan terus turun. Ed Wollard pun mengatakan kepada Amelio untuk mengundurkan diri agar Steve Jobs menjadi CEO namun Amelio menolak.
    Beberapa anggota dewan direksi kurang menyetujui ide Wollard untuk mengangkat Steve Jobs. Dari Dewan direksi tersebut ada yang memutuskan mengundurkan diri apabila Steve Jobs naik yaitu Mike Markkula yang merupakan kapitalis ventura muda. Dia dulu mendukung Jobs namun bentrok dengannya setelah Mike memihak Sculley pada tahun 1985. Dalam pidato Steve Jobs mengenai saham Apple yang jatuh hingga 30 % dia mengatakan “There are a lot of great people at Apple, but they’re doing the wrong things because the plan has been wrong,” he said. “I’ve found people who can’t wait to fall into line behind a good strategy, but there just hasn’t been one.”
    Steve memiliki sebuah gagasan untuk berpikir secara berbeda (think different) dimana customer memikirkan secara berbeda untuk membeli komputer apple dan dia juga berpikir secara berbeda bagaimana melayani pembeli. Hal ini terkutip dalam chaper 24 :
     “I think you still have to think differently to buy an Apple computer,” he said. “The people who buy them do think different. They are the creative spirits in this world, and they’re out to change the world. We make tools forthose kinds of people.” “We too are going to think differently and serve the people who have been buying our products from the beginning. Because a lot of people think they’re crazy, but in that craziness we see genius.”
    Klimaks pada chapter ini terdapat pada  bulan August 1997 saat Macworld, Steve dalam pidatonya mengatakan Apple hidup dalam suatu ekosistem yang memerlukan bantuan dari partner lain dan saat itu dia mengumumkan bahwa Apple akan bermitra dengan Microsoft, berikut kutipannya :
    “Apple lives in an ecosystem,” he said. “It needs help from other partners. Relationships that are destructive don’t help anybody in this industry.” For dramatic effect, he paused again, and then explained: “I’d like to announce one of our first new partnerships today, a very meaningful one, and that is one with Microsoft.”
    Penonton kaget mendengar hal tersebut, mereka melihat logo Microsoft dan Apple tampil bersama di layar. Steve Jobs melakukan langkah ekstrim dengan menjalin kerjasama dengan Bill Gates demi menaikkan saham Apple. Apple dan Microsoft telah berperang selama satu dekade lebih karena hak cipta dan masalah paten , terutama karena Microsoft telah mencuri tampilan dan nuansa dari antarmuka pengguna grafis Apple. Microsoft awalnya menolak untuk berkomitmen mengembangkan Word dan Excel pada sistem operasi Macintosh, hal ini tentu saja bisa menghancurkan Apple. Tepat setelah Apple membeli NeXT, Amelio dan Jobs terbang bersama-sama untuk mengunjungi Microsoft, tapi Gates sangat sulit dicari. Beberapa hari kemudian dia menelepon Jobs secara pribadi. Dia menanyakan maksud Jobs ingin berekan dengannya. Jobspun mengatakan dia ingin Gates ikut andil dalam bisnis aplikasi perangkat lunak. Membuat aplikasi Microsoft pertama yaitu Excel dan Word untuk Mac.
    Dalam pidatonya Jobs mengatakan memiliki tamu khusus kepada penonton,  saat itu tiba-tiba wajah Bill Gates muncul di layar besar menjulang lebih dari Jobs dan auditorium. Ada senyum tipis di wajah Gates yang main mata dengan menjadi seringai. Para penonton terkejut diikuti oleh beberapa ejekan dan teriakan. Steve Jobs menyampaikan ucapan terima kasih karena Bill Gates telah mendukung perusahaannya. Bill Gates pun mengatakan pekerjaan yang paling menarik yang pernah dia lakukan dalam karirnya adalahpekerjaan yang dia lakukan dengan Steve pada Macintosh.
    Walaupun terlihat Steve Jobs ingin berekan dengan Bill Gates, tapi sebenarnya ada perasaan bahwa  dia tidak ingin melakukan hal tersebut. Jobs menyadari bahwa citra Gates menjulang di atas dia dan dilihat oleh penonton itu merupakan sebuah kesalahan. Hal ini terkutip pada chapter 24 :
    Jobs realized that the image of Gates looming over him and the audience was a mistake. “I wanted him to come to Boston,” Jobs later said. “That was my worst and stupidest staging event ever. It was bad because it made me look small, and Apple look small, and as if everything was in Bill’s hands.” Gates likewise was embarrassed when he saw the videotape of the event. “I didn’t know that my face was going to be blown up to looming proportions,” he said.”
    Namun kembali demi mengembalikan keadaan perusahaan Steve Jobs harus melakukan ini dan dia juga mengatakan kepada seluruh penonton di Macworld untuk meyakini hal tersebut. Berikut ini kutipannya:
    Jobs tried to reassure the audience with an impromptu sermon. “If we want to move forward and see Apple healthy again, we have to let go of a few things here,” he told the audience. “We have to let go of this nation that for Apple to win Microsoft has to lose. . . . I think if we want Microsoft Office on the Mac, we better treat the company that puts it out with a little bit of gratitude.”

    Bersama dengan keterlibatan ulang gairah Jobs dengan perusahaan,
    memberikan sentakan yang sangat dibutuhkan untuk Apple. Pada akhir hari, sahamnya melejit $ 6,56, atau 33%, menjadi ditutup pada $ 26,31, naik menjadi dua kali lipat. Gil  Amelio akhirnya mengundurkan diri. Setiap hari keuntungan  menambahkan $ 830 juta untuk kapitalisasi pasar saham Apple. Perusahaan ini kembali dari kubur. Dari chapter ini kita belajar terkadang ada hal yang harus dilakukan yang mungkin tidak sesuai dengan yang diinginkan. Seperti Steve Jobs dia harus bekerja sama dengan Bill Gates yang merupakan lawannya demi menaikkan saham Apple. Menurut saya itu adalah inovasi dan juga filosofi terbaik karena lawan tidak selamanya menjadi lawan, terkadang  mereka bisa menjadi teman yang dapat menguntungkan sehingga kita dapat  mencapai apa yang kita harapkan.
    #Happy Sharing Komputer



    Iklan

    rss


    Translate

    Chat

    Komentar Blog

    Iklan